Конфигурация 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, я не работал. Настройка программно работала. Так что я думаю, что это была какая-то ошибка.

Другие вопросы по тегам