Ожидается объявление при попытке вручную настроить хост WCF — как решить?

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

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

РазноеServices.svc:

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

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

В проекте есть только 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>

РазноеServices.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, и я не знаю, как это исправить.


person ElHaix    schedule 26.03.2012    source источник
comment
Так что же находится в MiscServices.cs?   -  person Phil Degenhardt    schedule 27.03.2012
comment
@degorolls — добавлен пример кода для MiscServices.cs, но я не понимаю, в чем проблема.   -  person ElHaix    schedule 27.03.2012
comment
Текст ошибки, по-видимому, подразумевает, что синтаксический анализатор VB.NET пытается обработать ваш код. Не знаю, как это произойдет, пожалуйста, добавьте всю ошибку (и трассировку стека, если она доступна). Во всем содержании ошибки могут быть подсказки.   -  person Sixto Saez    schedule 27.03.2012


Ответы (1)


Похоже, проблема заключалась в типах проектов, которые VS поддерживает под капотом.

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

person ElHaix    schedule 27.03.2012