2011-09-07 39 views

Trả lời

19

Không, basicHttpBinding không hỗ trợ này do bản chất phi kết nối của Giao thức HTTP. Bạn có thể có một cái nhìn tại following blog post:

Ví dụ, BasicHttpBinding không bao giờ có thể có một phiên giao cấp do bản chất phi kết nối của giao thức HTTP. WSHttpBinding không có bảo mật và không có tin nhắn đáng tin cậy, cũng không duy trì phiên giao dịch cấp. Trong cả hai trường hợp này, ngay cả khi dịch vụ được cấu hình với InstanceContextMode.PerSession và hợp đồng với SessionMode.Allowed, dịch vụ sẽ hoạt động như một dịch vụ cho mỗi cuộc gọi, và các cuộc gọi đến Dispose() là không đồng bộ; đó là, khách hàng là không bị chặn sau khi cuộc gọi trong khi WCF hủy bỏ trường hợp.

Tuy nhiên, nếu bạn sử dụng wsHttpBinding với an ninh (mặc định của nó cấu hình) hoặc với thông điệp đáng tin cậy, hoặc NetTcpBinding, hoặc các NetNamedPipeBinding, sau đó dịch vụ sẽ hoạt động như một dịch vụ mỗi phiên.

Và đây là list of system provided bindings cùng với một số đặc điểm của chúng.

+0

Xin chào, nếu các trang web có thể quản lý phiên bằng cách sử dụng id phiên (trong cookie) qua HTTP không kết nối, tại sao WCF không thể thực hiện? – thewpfguy

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