Ожидается объявление при попытке вручную настроить хост WCF - как решить? - PullRequest
0 голосов
/ 27 марта 2012

Я вручную создаю службу WCF, которая будет действовать как DAL, и создала несколько проектов для изоляции основных функций, и хочу получить доступ к данным через MiscServices.svc, который будет размещен (эта архитектура также будет поддерживать несколько хостов). ). Иерархия решений следующая (каждый отдельный проект):

  • Модели (наборы сущностей)
  • Сервисные контракты (интерфейсы): IMiscContracts.cs
  • Сервисные библиотеки (классы): MiscServices.cs: IMiscContracts
  • Хост (файлы .svc): MiscServices.svc

MiscServices.svc:

<%@ ServiceHost Language="C#" Debug="true" Service="MyProject.DAL.DB1.Service.MiscServices" CodeBehind="MyProject.DAL.DB1.Service.MiscServices.cs" %>

.Contracts и .Services упоминаются в проекте Hosts, который содержит .svc's.

В проекте есть только MiscServices.svc и web.config:

 <system.serviceModel>
    <services>
      <service name="MyProject.DAL.DB1.MiscServices">
        <endpoint name ="MiscServicesEndpoint"
                  address="MiscServices.svc"
                  binding="wsHttpBinding"
                  contract="MyProject.DAL.DB1.Contracts.IMiscContracts" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>        
      </service>
    </services>

MiscServices.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;
using MyProject.DAL.DB1.Contracts;
using MyProject.DAL.DB1.Models;


namespace MyProject.DAL.DB1.Services
{
    /// <summary>
    /// Interface implementations
    /// </summary>
    public class MiscServices : IMiscContracts
    {

        private DB1DBContext dbContext = new DB1DBContext();

        /// <summary>
        /// Returns a simple input string
        public string GetString(string someString)
        {
            return String.Format("This is your string {0}", someString);
        }
.
.
.

Проблема в том, что при попытке опубликовать проект Hosts я получаю следующие ошибки:

'If', 'ElseIf', 'Else', 'End If', 'Const', or 'Region' expected. 
Declaration expected.

... для одной строки в файле .svc, и я не уверен, как это исправить.

1 Ответ

0 голосов
/ 27 марта 2012

Кажется, что проблема была в типах проектов, которые VS поддерживает под капотом.

Я удалил проект, создал новый сервисный проект WCF, удалил интерфейс и классы, оставив только.SVC файл, и он работал просто отлично.

...