C# WCF ServiceLayer类重定向到元数据。为什么?
我有三个C#项目的解决方案:C# WCF ServiceLayer类重定向到元数据。为什么?,c#,wcf,metadata,C#,Wcf,Metadata,我有三个C#项目的解决方案: CareLife.DataLayer(类库) CareLife.ServiceLayer(WCF服务应用程序) CareLife.BusinessLayer(服务库) 我在CareLife.ServiceLayer中添加了项目CareLife.BusinessLayer的.dll(位于obj文件夹),因为需要访问项目ServiceLayer中BusinessLayer的方法 namespace CareLife.BusinessLayer.Operations
- CareLife.DataLayer(类库)
- CareLife.ServiceLayer(WCF服务应用程序)
- CareLife.BusinessLayer(服务库)
namespace CareLife.BusinessLayer.Operations
{
public class SpecialityServices
{
void GetArea() { }
}
}
还有
namespace CareLife.ServiceLayer
{
[ServiceContract]
public class SpecialityOperations
{
[OperationContract]
[WebInvoke(UriTemplate="Area", Method="GET")]
ICollection<Area> GetArea()
{
try
{
SpecialityServices specialityServices = new SpecialityServices();
}
catch (Exception)
{
throw;
}
return null;
}
}
}
namespace CareLife.ServiceLayer
{
[服务合同]
公共类特殊操作
{
[经营合同]
[WebInvoke(UriTemplate=“Area”,Method=“GET”)]
ICollection GetArea()
{
尝试
{
SpecialityServices SpecialityServices=新的SpecialityServices();
}
捕获(例外)
{
投掷;
}
返回null;
}
}
}
问题是:为什么当我转到类SpecialityServices的ServiceLayer中的定义时,我总是重定向到metadata类?我在这里看到的资源是定义的区域。您正在进行http://
/区域的访问吗
另外,如果您正在构建rest服务,为什么不使用WebAPI?您是否尝试将其添加为项目引用而不是obj文件夹中的dll?您应该明确声明webHttp端点。下面是示例system.serviceModel
config部分:
<system.serviceModel>
<services>
<service name="WcfService1.Service1">
<endpoint address="basic" binding="basicHttpBinding" contract="WcfService1.IService1" />
<endpoint address="" binding="webHttpBinding" contract="WcfService1.IService1" behaviorConfiguration="web"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
为了澄清,我将端点行为
部分和webHttp端点
添加到服务部分