ASP.NET会话问题

时间:2009-10-07 09:15:16

标签: asp.net session internet-explorer-8 ms-word

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

祝你好运, 乙

4 个答案:

答案 0 :(得分:1)

也许您使用无Cookie会话?

您还可以考虑使用缓存而不是会话,以便不同的用户可以共享相同的搜索结果以获得更好的性能。

答案 1 :(得分:1)

波拉特,

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

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

希望这会解决问题......

由于

答案 2 :(得分:0)

取决于您如何处理会话。最有可能的是,您使用的是SessionID cookie,客户端拒绝使用Cookie。 (或者至少不会出于任何原因在两个请求之间保留cookie)。

答案 3 :(得分:0)

您不能在多个浏览器实例中拥有相同的会话。实现基于cookie的方法,您可以根据cookie维护搜索结果集。在会话中做任何事情都是asp.net中的一个不好的做法