Wcf Web Api配置相当于代码

时间:2012-10-10 12:47:25

标签: wcf wcf-web-api

我在Application start:

上运行的代码中对WebApi服务进行了此配置
var configuration = new WebApiConfiguration
{
    Security = (uri, binding) => {
        binding.Mode = HttpBindingSecurityMode.TransportCredentialOnly; 
        binding.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
    },
    CreateInstance = ((type, requestMessage, o) => container.Resolve(type)),
    ErrorHandlers = (handlers, endpoint, description) => handlers.Add(new GlobalErrorHandler())
};

现在,我想将其移出代码并在web.config中执行此操作。相当于什么?到目前为止,我已经在web.config中运行了这个,我不确定它是否正确,而且我也不知道CreateInstance和ErrorHandlers会在配置中转换为什么:

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="basicHttp">
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows"></transport>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client />
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
    </serviceHostingEnvironment>
  </system.serviceModel>

1 个答案:

答案 0 :(得分:0)

这是对的。

但是你使用的是WCF Web API,实际上是什么是ASP.NET Web API的CTP版本,所以我建议你迁移到它。这并不难,因为它们很相似。

迁移的另一个原因是,当我使用WCF Web API时,使用config配置HTTPS和安全性,我没有工作。以编程方式配置。所以我认为这是某种错误。