Как программно настроить службы данных WCF? - PullRequest
3 голосов
/ 25 октября 2011

Как бы вы могли свободно настроить следующие службы данных WCF в C #?

<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>

1 Ответ

5 голосов
/ 25 октября 2011

Следующее настроит эквивалент 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...