2010-09-16 76 views
-2

重定向后,会话数据丢失?如何重定向而不会丢失asp.net MVC2中的会话数据?

+7

如果你想回答在这个问题上也付出了一些努力。你现在使用什么样的代码来进行重定向? – mare 2010-09-16 13:33:56

+0

http://WhatHaveYouTried.com我们是志愿者谁想要帮助您的具体问题。我们捐出时间;捐赠你的一些,并表明你至少已经尝试过** ** – Eonasdan 2012-11-13 14:18:35

回答

1

谢谢你的回复。我发现我写了一些文件的Web应用程序,所以会话丢失

您的asp.net应用程序正在重新启动。您可能正在写入asp.net文件夹中的一个位置,导致应用程序重新编译/而不仅仅是一个子文件夹。一个特殊的位置是bin文件夹,将最小的文件放在那里你有一个回收站(应该没有文件)。

以上可以通过写入到asp.net文件夹以外的位置来避免。另一种方法是,您可以写入顶层的其他子文件夹,但不应获得回收。

另一种选择是通过使用不同的SessionStoreProvider将会话移出进程。当使用基于内存的代码时,你的代码不应该依赖不会丢失的会话,因为还有其他原因可以发生asp.net回收。


你真的需要在正常条件下发布的详细信息,该信息没有出现在asp.net MVC2丢失。

如果您仅在1个请求期间引用TempData,则这是有意设计的。它只适用于下一个请求。

如果它的常规会话,也许你只有在.config和浏览器中配置的基于cookie的会话已经阻止了cookie。

也许您正在使用完整的网址(使用http://mydomain)重定向,并且您使用的是无Cookie(或浏览器屏蔽了Cookie并且它已恢复为无Cookie),使用http://mydomain使asp.net不会将其视为一个请求内的应用程序,并不会将会话ID添加到该网址。

+0

谢谢你的回复。我发现我写了一些文件到webapp,所以会话丢失了。 – fjjiaboming 2010-09-18 14:25:27