Конфигурация службы WCF HTTPS с CustomBinding

Мне понадобилась привязка к службе WCF, чтобы я мог передавать необработанный контент в службу WCFRest. Прекрасно работает, но я не могу заставить его принять безопасность на транспортном уровне. Я хочу https и обычную аутентификацию, которую я использую в другом месте. Конечная точка выглядит так:

   <endpoint address="" behaviorConfiguration="web" contract="SmsService.ISmsReceive" binding="customBinding" bindingConfiguration="RawReceiveCapable"></endpoint>

customBinding выглядит так:

  <customBinding>
    <binding name="RawReceiveCapable">
      <security mode="Transport">
        <transport clientCredentialType="Basic"/>
      </security>
      <webMessageEncoding webContentTypeMapperType="SmsService.RawContentTypeMapper, SmsService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <httpTransport manualAddressing="true" maxReceivedMessageSize="524288000" transferMode="Streamed" />
    </binding>
  </customBinding>

но система жалуется, что атрибут mode не разрешен в узле безопасности. Без узла безопасности все работает отлично, но это не https.

Спасибо

луч

1 ответ

Решение

Я думаю, вам нужно бросить <security> элемент, а затем измените элемент httpTransport на httpsTransport, как показано в следующем примере:

<system.serviceModel>
    <bindings>
        <customBinding>
            <binding name="RawReceiveCapable">
              <webMessageEncoding webContentTypeMapperType="SmsService.RawContentTypeMapper, SmsService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
              <httpsTransport authenticationScheme="Basic"  manualAddressing="true" maxReceivedMessageSize="524288000" transferMode="Streamed" />
            </binding>
        </customBinding>
    </bindings>

Может быть полезна следующая ссылка: http://msdn.microsoft.com/en-us/library/ms731818.aspx

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