WSHttpBinding и Https проблема - PullRequest
       29

WSHttpBinding и Https проблема

2 голосов
/ 12 августа 2011

Я хочу использовать сеансы и SSL одновременно, поэтому я настроил все сертификаты и убедился, что все правильно настроено в службе WCF.Я пробовал обо всем, но я не могу заставить это работать.Это выдает мне InvalidoperationException, говоря, что WsHttpBinding не может создавать безопасные сеансы и что я должен использовать MessageSecurity вместо TransportSecurity. Но я хочу использовать Https, а не Http, поэтому я хочу использовать TransportSecurity.Может ли кто-нибудь, пожалуйста, помогите мне.Заранее спасибо.

App.config для WsHttpBinding:

   <wsHttpBinding>
    <binding name="WSHttpBinding">
     <reliableSession enabled="True" />
     <security mode="Transport">
      <transport clientCredentialType="None"/>
     </security>
    </binding>
   </wsHttpBinding>

Редактировать: я забыл упомянуть, что InvalidOperationException возникает, когда я пытаюсь вызвать ServiceHost.Open (), поэтому ведение журнала не будетделайте много хорошего, но спасибо, что упомянули об этом.

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Я не пробовал, но MSDN говорит :

Чтобы использовать надежный сеанс через HTTPS, необходимо создать настраиваемую привязку, которая использует надежный сеанс и транспорт HTTPS.

Попробуйте пользовательскую привязку, описанную в статье.

Edit:

Я уточнил в Reflector, почему он не работает с WsHttpBinding. WsHttpBinding содержит этот код при инициализации безопасности:

if (isReliableSession && !this.IsSecureConversationEnabled())
{
    throw ...
}

Это, вероятно, означает, что WsHttpBinding позволяет использовать надежный сеанс по незащищенному каналу или по каналу, защищенному с помощью защиты сообщений и безопасного разговора.

0 голосов
/ 12 августа 2011

Я бы посоветовал вам включить Ведение журнала WCF и взглянуть на полученный файл журнала, используя SvcTraceViewer . Это должно предоставить вам гораздо больше подробностей о том, что происходит, и обычно помогает мне выявлять более сложные проблемы WCF.

...