【发布时间】:2011-09-09 15:41:36
【问题描述】:
我正在制作一个在 IIS 7.5 上运行的 MVC 3 应用程序,该应用程序使用 EntityFramework 来访问大型数据库。我公司访问数据库所需的框架初始化连接并设置一些线程上下文和安全检查——这个过程大约需要 30 秒。这应该只在应用启动时运行一次,但它会在每个页面加载时执行此操作。
我现在设置它的方式是在 global.asax 中有一个静态方法来检查 HttpContext.Current.Application 字典以查看是否已设置 Context 类的键,如果是则返回 Context,否则初始化 Context 然后返回它。每次页面加载,字典都是空的,因此必须重新初始化上下文(在 Visual Studio 2010 中检查)。
在我让它在 global.asax 中的 Application_Start 方法中调用一个初始化方法之前,每次页面加载都会受到影响。
即使 Visual Studio 没有运行,页面仍然需要很长时间才能加载。
什么可能导致应用重置每个页面加载?
【问题讨论】:
-
应用程序可能因多种原因重新启动(web.config 更改、bin 目录更改、衍生线程中未处理的异常等)。我会检查这个问题的答案,看看你是否有任何问题:stackoverflow.com/questions/302110/…
标签: model-view-controller iis asp.net-mvc-3 iis-7