开发平台:VS 2013,MVC 5,IIS Express 7.5。
问题:当我动态编辑javascript并点击F5刷新屏幕时,IIS Express会毫无理由地回收应用程序池。因为我在应用程序启动期间加载了一些程序集,这会导致错误:
该进程无法访问文件' C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 34d1a25b \ a6535eb1 \ Module1.dll'因为它正被另一个进程使用。
这是合乎逻辑的。但是为什么IIS Express会回收应用程序池?
我试图根据Scott Gu post追查原因,但错误是观众又是胡说八道:
源.NET Runtime中的事件ID 0的描述不能 找到。未安装引发此事件的组件 您的本地计算机或安装已损坏。你可以安装 或修复本地计算机上的组件。
如果事件源自另一台计算机,则显示信息 不得不与事件一起得救。
活动中包含以下信息: _shutDownMessage = App_Offline.htm中的更改HostingEnvironment启动关闭App_Offline.htm HostingEnvironment中的更改导致 关闭App_Offline.htm中的更改
_shutDownStack =在System.Environment.get_StackTrace()的System.Environment.GetStackTrace(Exception e,Boolean needFileInfo)中... 在System.Threading.ThreadPoolWorkQueue.Dispatch()at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
消息资源存在,但未在消息中找到消息 字符串/消息表
唯一对我说话的是
_shutDownMessage = App_Offline.htm中的更改HostingEnvironment已启动关闭App_Offline.htm中的更改
这里有关于stackoverflow的类似问题,如this和this workaround以及可能的答案here,但我仍然没有得到它 - 谁对此负责,主要原因是什么?或者不同的案例有不同的原因?
答案 0 :(得分:7)
对我有用的唯一解决方案是here,它更像是一种具有所需副作用的解决方法,而不是完整的解决方案和正确的解释。
我这样做了,问题就消失了。