2009-10-10 77 views
0

现在,当我通过Visual Studio运行/调试ASP.NET MVC网站时,如果在项目仍在运行时更改视图中的某些CSS或HTML,则Session会间歇性地丢失。Visual Studio ASP.NET MVC保存解决方案会话结束?

我已经在Global.asax中添加了一个Session_End方法并在其中设置了一个断点来证实这一点。只要在大约10分钟左右的Session_End被调用后,通过Visual Studio单击Save All(全部保存)。我甚至没有刷新实际页面,我认为这是一个奇怪的...

我意识到,重新编译应用程序会导致会话丢失,但我不会认为修改视图,而应用程序正在运行会造成这种情况。

有关为什么这可能会发生的任何想法?

回答

1

由于您单击Save All,您是否也可能修改了代码文件或web.config。任何改变 - 即使你删除它 - 都会使文件变脏,并导致它被保存。这可能会导致你正在谈论的行为。

您可能想考虑在开发环境中使用SQL进行会话状态。我最近切换到了这里(因为我需要为我们的生产环境),即使停止调试并重新编译应用程序,也不再看到这种行为。只要会话cookie仍然有效,它就能够从数据库中提取我的会话信息。

+0

我没有改变任何CS或配置文件,只是ASPX视图。还有什么可能导致这个?为什么只需点击Save All即可调用Session_End? – aherrick 2009-10-10 15:54:59