重用另一个 ASP.NET 会话(设置会话 ID)
我的问题是,当我在单独的 IE 窗口中从 Outlook 打开 Web 应用程序时,ASP.NET 会话丢失。这是(如多处所述)因为内存中的 cookie 丢失了。
事情是这样的:
- 用户在 Outlook 中使用 ASP.NET Web 应用程序,这会在 ASP.NET 会话中存储一些信息
- 用户单击“打印”以打开包含打印就绪数据的新 IE 窗口
- 新窗口具有不同的 ASP.NET 会话 ID并且无法访问旧数据。
我想,也许,如果我将 ASP.NET 会话 ID 传递到新的 IE 窗口,我可以以某种方式“附加”到该会话吗?告诉 ASP.NET 这是我需要更新的吗?
My problem is that when I open web application from Outlook in a separate IE window, the ASP.NET session is lost. This is (as described in several places) because in-memory cookie is lost.
So it goes like this:
- User works with ASP.NET web application in Outlook, and this stores some info in ASP.NET session
- User clicks Print to open new IE window with print-ready data
- The new window has different ASP.NET session ID and can't access old data.
I think, maybe, if I pass ASP.NET session ID to new IE window, I can somehow "attach" to that session? Tell ASP.NET that this is the one that I need to be current?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
无 Cookie 会话可能适合您。使用该技术,会话 ID 以类似于 http://yourserver/folder/(此处为会话 ID)/default.aspx 的格式包含在 URL 中
Cookieless Sessions might work for you. Using that technology, the session id is included in the URL in a format similiar to
http://yourserver/folder/(session ID here)/default.aspx
您是否考虑过从一开始就删除会话数据?
Have you considered just getting rid of the session data to begin with?