有什么可以导致一个ASP.NET 工作进程,将回收?
题
这是我目前的问题:
我猜我的问题(如下所述)正在引起由ASP.NET 工作进程正在循环,每下面的答案—我使用的InProc届会议的储存,看不到多少机会的行动,由于限制其他类型的储存,所有届会议的对象是序列化。然而,我不能找出什么让该工作人员过程被回收,往往因为我看见它—有没有任何改变的文件,在应用目录尽我知道,选择在IIS似乎意味着,该进程只会再循环每分钟为1 740—这是远远低于实际会损失。因此,我的问题是现在,什么样的不同情况下可能导致一个ASP.NET 工作进程,将回收?
这里是我原来的问题:
我有一种很难再现的问题,发生在我ASP.NET 网络应用程序。该应用程序都有一个主要的。aspx页,载和初始化的一些会议变量。这页的使用ASP.NET 阿贾克斯 Sys.Net.WebRequest
类一再访问另一个。aspx页,其中使用本届会议变量使数据库的查询,并更新主页(主页是永远不会重新要求).
偶尔,在一段时间后使用的网页,引起成功HTTP请求在本届会议创建主页正确地携带过来的子页,其中一个请求似乎导致新的ASP.NET 会议创建的所有届会议变量是失(造成一个例外被丢在我的代码),和一个新的session id中报告的动态的请求的网页。这意味着,突然间,该主页的连接断开服务器的—尽服务器感到关切的是,用户就不再记录。
我几乎肯定这是不一届会议的超时的时间超时设定为可笑的东西,需的时间得到这样的事情发生是可变的,但是从来没有长到足以导致本届会议的时间了, 和 恒 Sys.Net.WebRequests
应该 刷新的会议时。
所以,什么其他可能发生会导致HTTP请求,失去联系的ASP.NET 会议?我不幸的是还没有嗅探的网络通信的时候发生了这种情况给我,或者我会检查的ASP.NET session cookie留或没有。
解决方案
一个解决办法是使用一会话,而不是InProc届会议管理。
很多事情可能会导致会议的国家将失去了:
- 编辑的网络。Config
- IIS重置
- 等等。
如果该届会议的国家是重要的您应用程序,然后利用SQL状态的管理,或国家服务器的附带ASP。网。
干杯,
RB。
其他提示
我们有问题的会议的时候,我们没有迁移AnkerEx应用到的 新的服务器。新的服务器已经Microsoft的Windows服务器2008年作为操作系统 并且微软因特网信息服务的7.还在服务器安装了 .净框架的版本1.0.3705,1.1.4322,2.0.50727,3.0和3.5.为解决这个问题的我已经做了使健康监测 应用程序的寿命相关的事件中ASP.NET 2.0.我已经添加到网上。配置:
...
...
<system.web>
...
...
<healthMonitoring>
<rules>
<add name="Application Events"
eventName="Application Lifetime Events"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
</healthMonitoring>
...
...
它帮助我们检查程序域回收.我们可以看到它在我们的活动的观众。链接到更多的细节是 http://blogs.msdn.com/rahulso/archive/2006/04/13/575715.aspx
之后我已经做了增加网络。config,该事件的观众向我展示了我的 应用程序是重新启动每次当我做点击几乎任何链接我的 应用程序。从该条的 http://blogs.msdn.com/toddca/archive/2005/12/01/499144.aspx 我 发现ASP.NET 有新的行为-如果我们将做删除,例如 一个子目录应用程序的根本目录,然后ASP.NET 2.0会做的 重新启动程序域.
问题在于,我不得不在的网络。config的指令:
...
<compilation debug="true" tempDirectory="c:\AnkerEx\Temporary ASP.NET files">
...
I.e。的ASP.NET 有没有编制的aspx页文件夹中的应用程序的根源。我认为是他创造的文件夹,可能并没有消除他们中的一些。我删除了 tempDirectory的指示和应用程序开始工作的稳定。
这可能是由未处理的异常在一个背景线。它可以导致你的ASP.NET 工作进程,以终止。一个新进程的启动非常迅速所以你不会真的注意,但你的所有会议都将丢失。
这是一篇文章,说明它比我可以: ASP.NET 2.0未经处理的异常问题
引用:
一个未处理的异常在一个正在运行ASP.NET 2.0应用程序通常将终止W3WP.exe 过程,并且留下你一个非常神秘的事件日志条目事情是这样的:
"EventType clr20r3,P1w3wp.exe P2 6.0.3790.1830,P3 42435be1,P4app_web_ncsnb2-n,P5 0.0.0.0的,P6 440a4082、P7 5、P8 1,P9系统。nullreferenceexception、P10为零。"
这里是一个微软KB条,解释了同样的问题: KB911816未处理的例外情况引起ASP。网基应用程序意外地退出。净框架2.0
我的猜测是记忆消费量-但是,设立 IIS日志的回收 你就会知道。