Tôi cần tạo một dịch vụ WCF được lưu trữ trong IIS, sử dụng http vận chuyển và giữ trạng thái trong bộ nhớ của máy chủ. Mặc dù tôi biết rằng các dịch vụ nhà nước không phải là một ý tưởng hay, nhưng hạn chế cuối cùng này là cần thiết để làm cho dịch vụ hoạt động với một khách hàng cũ.Phiên WCF với một wsHttpBinding và không có bảo mật cửa sổ
Suy nghĩ đầu tiên của tôi là phiên của asp.net để lưu trữ các giá trị. Tôi kích hoạt chế độ tương thích asp.net trong dịch vụ của mình, điều này đã cho tôi quyền truy cập vào HttpContext, nhưng các giá trị được đặt trong đối tượng phiên không được lưu giữ trong bộ nhớ. Tôi cho rằng điều này là do mô-đun http xử lý trạng thái phiên không được định cấu hình chính xác, nhưng khi googling cho câu trả lời tôi gặp phải, các phiên WCF và nghĩ rằng có thể nên sử dụng chúng. Tuy nhiên, các phiên WCF có vẻ như dưới dạng tài liệu và đặt một bộ điều kiện tiên quyết lạ trên một dịch vụ và tôi không thể tìm thấy cấu hình phù hợp với nhu cầu của mình: phải được lưu trữ trong IIS, phải sử dụng http hoặc https giao thông vận tải và không thể trả lời trên cửa sổ xác thực vì khách hàng và máy chủ sẽ không được một phần của cùng một tên miền. Tôi đang cố gắng để có được điều này bằng cách sử dụng wsHttpBinding, tôi đã nghe các phiên WCF yêu cầu bảo mật hoặc tin nhắn đáng tin cậy, nhưng: - Sử dụng các ràng buộc tiêu chuẩn và khi các máy chủ không phải là một phần của cùng một tên miền nó không thành công với một "SecurityNegotiationException người gọi không được xác thực bởi dịch vụ ”ngoại lệ. Điều này là khá hợp lý vì nó đã được sử dụng bảo mật cửa sổ.
Nếu tôi vô hiệu hóa an ninh hoàn thành nó không thành công với một “hợp đồng đòi hỏi phiên, nhưng Binding 'wsHttpBinding' không hỗ trợ nó hoặc không được cấu hình đúng cách để hỗ trợ nó.”
Nếu trong khi vẫn giữ an ninh vô hiệu hóa Tôi cho phép tin nhắn đáng tin cậy Tôi nhận được ngoại lệ "Ràng buộc xác nhận không thành công vì WSHttpBinding không hỗ trợ các phiên đáng tin cậy về an ninh giao thông (HTTPS). Không thể mở nhà máy kênh hoặc máy chủ dịch vụ. Sử dụng bảo mật tin nhắn để nhắn tin đáng tin cậy an toàn qua HTTP “.
tôi đã cố gắng tạo điều kiện cho mức độ bảo mật vận chuyển nhưng điều này dường như không thực hiện bất kỳ sự khác biệt cho các lỗi phát sinh
Có bất kỳ cấu hình có thể làm việc cho tôi? Hay tôi nên quay lại kế hoạch sử dụng các phiên asp.net?
Tìm thấy phiên asp.net không hoạt động do cookie bị vô hiệu hóa, có phiên bản làm việc của mã sử dụng phiên asp.net. – Robert