ASP.NET会话问题

ASP.NET会话问题,asp.net,session,internet-explorer-8,ms-word,Asp.net,Session,Internet Explorer 8,Ms Word,我一直在努力解决以下问题。我有一个ASP.NET应用程序,它有一个特定的搜索引擎。可以使用准备好的链接执行搜索。因此,我有一个MS Word文档,其中包含链接。当我单击这样的链接时,会打开一个新的IE8窗口,生成一个ASP.NET会话,执行搜索,一些结果会显示在浏览器中并存储在会话中。现在,当我通过单击新打开的页面中的某个内容发送新请求时,会再次生成一个新会话,因此无法访问以前存储的结果。 如果您能给我一些建议,我将不胜感激 致以最良好的祝愿, B.取决于您处理会话的方式。最可能的情况是,您正在

我一直在努力解决以下问题。我有一个ASP.NET应用程序,它有一个特定的搜索引擎。可以使用准备好的链接执行搜索。因此,我有一个MS Word文档,其中包含链接。当我单击这样的链接时,会打开一个新的IE8窗口,生成一个ASP.NET会话,执行搜索,一些结果会显示在浏览器中并存储在会话中。现在,当我通过单击新打开的页面中的某个内容发送新请求时,会再次生成一个新会话,因此无法访问以前存储的结果。 如果您能给我一些建议,我将不胜感激

致以最良好的祝愿,
B.

取决于您处理会话的方式。最可能的情况是,您正在使用SessionID cookies,而客户端拒绝cookies。(或者至少不出于任何原因在两个请求之间持久化cookie)。

在多个浏览器实例中不能有相同的会话。实现一种基于cookie的方法,在这种方法中,您可以基于cookie维护搜索结果集。在asp.net中,在会话中执行任何操作都是一种糟糕的做法。也许您使用的是无Cookie会话

您也可以考虑使用缓存代替会话,这样不同的用户可以共享相同的搜索结果以获得更好的性能。

BARAT,

单击word文档中的链接时,每个链接都会在IE窗口的一个新实例**中打开,该窗口将创建一个**新会话。因此,您无法访问先前搜索的结果

为了解决此问题,请尝试在客户端创建持久cookie,并将搜索到的查询存储在此持久cookie中。这些持久cookie是在客户端计算机上本地创建的。通过这样做,所有浏览器窗口将能够访问相同的持久cookie

希望这能解决问题


谢谢

我忘了提到,当我把链接放在html网页中时,一切都很好。不,我不使用无Cookie会话。