Конфигурация Wcf WebApi эквивалентна коду
У меня есть эта конфигурация для службы 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 ответ
Это правильно.
Но вы используете WCF Web API, который на самом деле является CTP-версией ASP.NET Web API, поэтому я предлагаю вам перейти на него. Это не сложно сделать, потому что они похожи.
И еще одна причина для перехода заключается в том, что, когда я использовал WCF Web API, настройка HTTPS и безопасность с помощью config, я не работал. Настройка программно работала. Так что я думаю, что это была какая-то ошибка.