如何在C#中流畅配置以下WCF数据服务?
<configuration>
...
<system.serviceModel>
<services>
<service name="Foo.WebServices.FooService">
<endpoint address="http://localhost:8081/PhoenixData"
binding="webHttpBinding"
bindingConfiguration=""
contract="System.Data.Services.IRequestHandler" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
答案 0 :(得分:5)
以下内容将配置等效DataServiceHost
,侦听端点uri
。
DataServiceHost CreateServiceHost(Uri uri)
{
var host = new DataServiceHost(typeof(FooDataService), new Uri[] { });
// these may need to be added if they don't already exist.
host.Description.Behaviors.Find<ServiceMetadataBehavior>().HttpGetEnabled = true;
host.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true;
host.AddServiceEndpoint(
new ServiceEndpoint(ContractDescription.GetContract(typeof(FooDataService)))
{
Name = "default",
Address = new EndpointAddress(uri),
Contract = ContractDescription.GetContract(typeof(IRequestHandler)),
Binding = new WebHttpBinding()
});
return host;
}