编辑aspx页面导致会话丢失

kar*_*nba 2 asp.net web-applications visual-studio-2010 visual-studio-2012

我正在开发VS2012,它与VS2010相同.我正在开发一个Web应用程序项目.我在IIS上添加了一个虚拟应用程序,并将我的项目根文件夹设置为localhost/MyWebApp.

经常发生这种情况,当我进行简单的页面编辑(在.aspx文件上)时,我的网站会丢失会话.我确信没有更改服务器端代码或没有runat=server标记受到影响.

我怎么能摆脱这个?

Ale*_*ith 5

阐述大卫的评论:

文件更改通知

ASP.NET 2.0依赖于文件更改通知(FCN)来查看应用程序是否已更新,并且取决于应用程序池将要回收的更改的大小.如果您或您的应用程序正在向应用程序文件夹添加和删除目录,那么您每次都将重新启动应用程序池.

更改以下文件还会导致立即重新启动应用程序池:

web.config
machine.config
global.asax
Any file in the /bin directory or subfolders 
Run Code Online (Sandbox Code Playgroud)

更新.aspx文件等导致重新编译最终也会触发应用程序池的重新启动.system.web下有一个名为numRecompilesBeforeAppRestart的compilation属性.默认值为20,表示在重新编译20次后,应用程序池将重新循环.

摘自:丢失ASP.NET会话 - 为什么应用程序池回收