Я вручную создаю службу 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, и я не уверен, как это исправить.