我正在使用EntityFramework访问大型数据库的IIS 7.5上运行MVC 3应用程序。我公司访问数据库所需的框架初始化连接并设置一些线程上下文和安全检查 - 这个过程大约需要30秒。这应该只在应用程序启动时运行一次,但每次页面加载时都会执行此操作。MVC3 App Restarting Every Pageload
我现在设置的方法是在global.asax中有一个静态方法来检查HttpContext.Current.Application字典以查看Context类的键是否已设置,如果是,则返回Context,否则初始化上下文然后返回它。每个页面载入,字典都是空的,所以上下文必须重新初始化(如在Visual Studio 2010中检查)。
在我调用global.asax的Application_Start方法中的初始化方法之前,它也触发了每个页面负载。
即使Visual Studio没有运行,页面仍然需要永久加载。
什么可能导致应用程序重置每个页面加载?
该应用可能会重新启动有几个原因(web.config中的变化,bin目录的变化,产生的线程未处理的异常等)。我会检查这个问题的答案,看看是否有任何东西在你身上跳出来:http://stackoverflow.com/questions/302110/what-causes-an-application-pool-in-iis-to-recycle – rsbarro 2011-06-06 22:23:35