我正在手动创建一个WCF服务,该服务将充当DAL并创建多个项目以隔离核心功能,并希望通过MiscServices.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在包含.svc的Hosts项目中被引用。
该项目只有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文件中的一行,我不确定如何纠正这一点。
答案 0 :(得分:0)
似乎问题出现在VS维护的项目类型中。
我删除了项目,创建了一个全新的WCF服务项目,删除了界面和类,只留下了.svc文件,它运行得很好。