2011-02-08 17 views
6

に構成されていない私はwsHTTPBindingとWCFサービスを設定したが、その後も、私はここでエラー基本的なHTTPが正しく

Contract requires Session, but Binding 'BasicHttpBinding' doesn't support it or isn't configured properly to support it. 

は、サービス契約の定義は

<ServiceContract(SessionMode:=SessionMode.Required)> 
Public Interface IPrivateService 

あり得ますサービス実装の定義は次のとおりです

<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession)> 
Public Class PrivateService 
    Implements IPrivateService 
ここで

コンフィグ設定が

<services> 
    <service behaviorConfiguration="behaviorAction" name="Viking.Service.PrivateService"> 
      <endpoint address="RequiredService" binding="wsHttpBinding" bindingConfiguration="bindingAction" contract="Viking.Service.IPrivateService"> 
       <identity> 
       <dns value="localhost"/> 
       </identity> 
      </endpoint> 
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
      </service> 
</services> 
<bindings> 
      <wsHttpBinding> 
      <binding name="bindingAction" transactionFlow="false" sendTimeout="00:30:00" receiveTimeout="00:30:00"> 
       <reliableSession enabled="true"/> 
      </binding> 
      </wsHttpBinding> 
</bindings> 

本当に問題上の任意のアドバイスに感謝しています。

答えて

24

wcf 4.0を使用している場合は、web.config/app.configを開いて、<system.serviceModel>タグ内に次のタグを追加します。

<protocolMapping> 
    <add scheme="http" binding="wsHttpBinding"/> 
</protocolMapping> 
+0

です。ありがとう、トン! – Vikram

+0

コードからprotocolMappingを宣言する方法は? – Butsaty

関連する問題