这是我目前的问题:

我猜我的问题(如下所述)正在引起由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届会议管理。

很多事情可能会导致会议的国家将失去了:

  1. 编辑的网络。Config
  2. IIS重置
  3. 等等。

如果该届会议的国家是重要的您应用程序,然后利用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日志的回收 你就会知道。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top