我的组织最近进行了硬件更新,因此所有软件(VS 2013等)都是新安装的。
现在我们都注意到一个特殊的ASP.NET MVC 4.5应用程序运行速度非常慢。
我花了一段时间才注意到这一点,但在调试输出时,每个请求后的第一个条目是
"iisexpress.exe"(CLR v4.0.3019:域11):已卸载"C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0.0.0__b77a5c561934e089\mscorlib.dll"
在这个条目之后,它显示iisexpress正在加载数百个.NET dll。
对于下一个请求,它将成为域12,然后再次加载数百个dll条目。
其他应用程序始终是DefaultDomain,并且没有性能问题。
有没有一个环境在控制这一点?
编辑-更多信息:第一个请求是DefaultDomain,然后它从Domain 10开始递增。
此应用程序在MVC 4.0上的早期版本运行良好。
两个版本之间的一个主要添加是microsoft owin。
每个请求都会发生记录的事件-事件消息:应用程序正在关闭。原因:配置已更改,但dev文件夹中没有实际更改的文件。每次都会重新生成临时ASP.NET文件夹。
有一些方法可以记录应用程序域关闭的原因:
http://blogs.msdn.com/b/tess/archive/2008/11/06/troubleshooting-appdomain-restarts-and-other-issues-with-etw-tracing.aspx