tôi có dịch vụ WCF tiêu thụ bởi AJAX khách hàng sử dụng SOAP 1.2Tại sao InstanceContextMode.PerSession hoạt động như PerCall khi sử dụng wsHttpBinding?
Web.config:
<endpoint address="" binding="wsHttpBinding"
contract="WcfService1.IService1" bindingConfiguration="wsHttpBin">
<wsHttpBinding>
<binding name="wsHttpBin">
<security mode="None"/>
</binding>
</wsHttpBinding>
Từ những gì tôi có read, tôi phải sử dụng <security mode="None"/>
từ một dịch vụ tiếp xúc với “wsHttpBinding” ràng buộc triển khai WS-Security của các đặc tả dịch vụ web của WS- *. Vì ràng buộc sử dụng bảo mật, yêu cầu sẽ bị từ chối vì AJAX không hỗ trợ ngữ cảnh bảo mật.
hành vi dịch vụ WCF của tôi được định nghĩa với InstanceContextMode.PerSession
:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple,
InstanceContextMode = InstanceContextMode.PerSession)]
nhưng khi tôi tiêu thụ nó, cư xử như dịch vụ PerCall và mọi cuộc gọi bắt đầu một trường hợp WCF mới thay vì sử dụng các ví dụ hiện tại.
Tại sao InstanceContextMode.PerSession hoạt động như PerCall khi sử dụng wsHttpBinding?
Tôi có thể làm gì?
có thể trùng lặp: http://stackoverflow.com/questions/4767102/wcf-sessions-with-a-wshttpbinding-and-without-windows-security – ErnieL
@ErnieL Cảm ơn nhưng bằng không phải là một lựa chọn cho tôi vì nó sẽ không hoạt động với máy khách AJAX của tôi. –
Bản thân wsHttpBinding không hỗ trợ phiên. – ErnieL