gpt4 book ai didi

asp.net - Web 服务和 asp.net 应用程序之间的共享 session

转载 作者:行者123 更新时间:2023-12-03 17:20:52 26 4
gpt4 key购买 nike

我有一个 asp.net 应用程序和 webservices (asmx),它们驻留在同一个应用程序中,但不在 aspx 文件的同一个文件夹中。我还有一个使用 web 服务的 winform 应用程序。我用 [WebMethod(EnableSession = true)] 标记了 webservice 方法,但我无法共享 webservice 中应用程序上的相同 session 值。 winform 应用程序可以从应用程序访问 sessionID,我正在使用以下代码

Uri uri = new Uri(ServerServiceUrl);
_cookieContainer = new CookieContainer();
_cookieContainer.Add(new Cookie("ASP.NET_SessionId", SessionID, "/", uri.Host));

我的问题是:是否有什么我遗漏或做错的事情导致我无法从 Web 服务访问应用程序 session ?

最佳答案

我无法解释为什么您无法让 winforms 应用程序“劫持” session - 您正在做的事情看起来应该完全符合您的要求。

我只想建议您使用应用程序缓存(缓存来自您的 Java 服务的响应)而不是用户的 session 存储。这具有以下优点:-

  • a) 如果缓存信息适用于多个用户(例如访问控制),则相同的缓存信息可用于多个用户,而不是为每个 session 获取。
  • b) 与 session 数据相比,您可以更好地控制缓存的缓存时间/清除时间( session 数据只存在于 session 的整个生命周期中,如果您忘记删除旧信息,则有增长和增长的危险)
  • c) 如果你没有设法让你的 session 劫持工作,你仍然可以从任何 session 访问缓存中的数据。
  • 关于asp.net - Web 服务和 asp.net 应用程序之间的共享 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2698850/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com