【发布时间】:2023-03-27 09:24:01
【问题描述】:
我有一个 asp.net 应用程序和 webservices (asmx),它们驻留在同一个应用程序中,但不在 aspx 文件的同一个文件夹中。我也有一个使用 web 服务的 winform 应用程序。我已使用 [WebMethod(EnableSession = true)] 标记了 Web 服务方法,但我无法共享 Web 服务中应用程序上的相同会话值。 winform 应用程序可以从应用程序访问 sessionID,我正在使用以下代码
Uri uri = new Uri(ServerServiceUrl);
_cookieContainer = new CookieContainer();
_cookieContainer.Add(new Cookie("ASP.NET_SessionId", SessionID, "/", uri.Host));
我的问题是:我是否遗漏了什么或做错了什么,我无法从 web 服务访问应用程序会话?
【问题讨论】:
-
为什么需要在 web 服务中使用会话?您是否存储任何临时状态?在这种情况下,IMO 服务应该是无状态的,因此,您的问题将不存在......
-
同意,你需要考虑像静态类这样的网络服务
-
我的 aspx 服务,就像应用程序一样,与 java webservices 对话,当应用程序调用服务时,它会缓存一段时间的值。我不想一遍又一遍地调用 java 服务,我想使用应用程序缓存的数据。因此,我为什么要分享会话。
标签: asp.net session web-services c#-2.0 sharing