2011-02-08 26 views
6

tôi đã cấu hình một dịch vụ WCF với wsHttpBinding nhưng thậm chí sau đó tôi nhận được lỗiHTTP Basic ràng buộc là không được cấu hình đúng cách

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

ở đây được định nghĩa hợp đồng dịch vụ

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

Dưới đây là định nghĩa triển khai dịch vụ

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

Đây là cài đặt cấu hình

<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> 

thực sự đánh giá cao mọi lời khuyên về vấn đề này.

Trả lời

24

Nếu bạn đang sử dụng wcf 4.0 thì hãy mở web.config/app.config và thêm thẻ sau vào trong thẻ <system.serviceModel>.

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

hoạt động. Cảm ơn một tấn! – Vikram

+0

cách khai báo giao thức ánh xạ từ mã? – Butsaty

Các vấn đề liên quan