Tôi có ứng dụng asp.net và dịch vụ web (asmx) nằm trong cùng một ứng dụng nhưng không nằm trong cùng thư mục của tệp aspx. Tôi cũng có một ứng dụng winform sử dụng các dịch vụ web. Tôi đã đánh dấu các phương thức webservice với [WebMethod (EnableSession = true)] nhưng tôi không thể chia sẻ cùng một giá trị phiên trên ứng dụng trong các dịch vụ web. Việc áp dụng Winform có quyền truy cập vào các sessionid từ các ứng dụng và tôi đang sử dụng đoạn mã sauChia sẻ phiên giữa webservice và ứng dụng asp.net
Uri uri = new Uri(ServerServiceUrl);
_cookieContainer = new CookieContainer();
_cookieContainer.Add(new Cookie("ASP.NET_SessionId", SessionID, "/", uri.Host));
Câu hỏi của tôi là: Có một cái gì đó mà tôi đang thiếu hoặc làm sai mà tôi không thể truy cập vào sessioin ứng dụng từ webservices?
Tại sao bạn cần các phiên trong dịch vụ web? Bạn có lưu trữ bất kỳ trạng thái tạm thời nào không? Trong trường hợp đó, các dịch vụ IMO phải là không trạng thái và do đó, vấn đề của bạn sẽ không tồn tại ... – Sunny
Đồng ý, bạn sẽ cần phải nghĩ đến các dịch vụ web như các lớp tĩnh – Pierreten
Các dịch vụ aspx của tôi, giống như ứng dụng, nói chuyện với các dịch vụ web java và khi ứng dụng gọi các dịch vụ, nó lưu trữ các giá trị trong một khoảng thời gian. Thay vì gọi các dịch vụ java hơn và hơn nữa, tôi muốn sử dụng dữ liệu đã được lưu trữ bởi ứng dụng. Do đó tại sao tôi muốn chia sẻ phiên. –