Rus*_*voe 7 c# asp.net iis appdomain
当我们部署我们的Web应用程序时,我们将所有代码复制到一个新目录,然后将iis指向该新目录.当我们这样做时,appdomains的数量会增加但不会减少.此外,我们的Application_End事件似乎永远不会触发.
在未知的时间内,虽然perfmon仍然报告了两组AppDomain,但系统执行效果非常差,而GC峰值的时间百分比达到100%.最后,我回收应用程序池,让应用程序再次顺利运行.
额外的信息:在我的开发机器上列出appdomains显示2,但在实时服务器上运行4 ...我们只在池中运行一个应用程序,这意味着我们正在使用的一些库正在创建应用程序域.
我该怎么做才能尝试调试正在发生的事情?什么会阻止应用程序域卸载?
2014年9月3日更新
获得更详细的日志信息后,看起来问题不在于旧的应用程序域,它是重新启动时创建的新应用程序域.它不是启动一个新实例的应用程序,而是启动两个实例.有时我们从旧实例获取application_end,有时我们不会.
2014年9月4日更新
这两件事都在发生.使用进程资源管理器,我可以在其中一台计算机上看到旧的应用程序域仍在那里并且已经启动了新的应用程序域.在另一台机器上只有2个应用程序域,但它们的顺序ID存在差距.因此开始了两个实例(我们也从应用程序启动时获取了一条日志消息),其中一个实例几乎立即就消失了,留下了2个应用程序域.
尽管我不确定这是应用程序未卸载应用程序域的唯一原因,但这肯定是原因之一。实际的答案远不如我用来找出答案的步骤那么有趣。
归档时间: |
|
查看次数: |
1042 次 |
最近记录: |