IIS7/Win7的 - 应用程序池突然

问题描述:

失败后,近5个月,这个配置现在我得到了一系列的:IIS7/Win7的 - 应用程序池突然

“进程服务应用程序池“经典.net应用程序池遇到致命的通信错误与Windows进程激活服务。进程ID是'1640'。“

这导致:

应用程序池“经典.net应用程序池”被自动禁用由于服务于该应用程序池的过程(ES)一系列的失败。

我不能为我的生活,找出是什么改变了,开始造成这个我也不能弄清楚如何可能在更深的挖掘,找出什么导致它失败。

我最近(2周前)开始将Entity Frameworks添加到我的解决方案中。在此之前,由于报告的自引用调用,我确实收到了“堆栈空间不足”错误。我在我写的代码中找不到任何类似的调用,并且怀疑EF可能在我的简单(3表)模型中添加了一个错误的连接。

关于从哪里开始寻找的任何想法?什么会导致AppPool失败?

TIA


注意

类型 'System.*Exception' 未处理的异常出现在mscorlib.dll

我有一个调用外部对象此方法获得单个记录:

public static AutoNegotiationDetails GetAutoNegotiationByCompany(Guid companyId) 
{ 
    return RivWorks.Controller.Negotiation.GetAutoNegotiationByCompany(companyId); 
} 

这个方法调用到:

internal static AutoNegotiationDetails GetAutoNegotiationByCompany(Guid companyId) 
{ 
    var autoNeg = from a in _dbRiv.AutoNegotiationDetails where a.CompanyId == companyId select a; 
    var ret = autoNeg.FirstOrDefault(); 
    return ret; 
} 

在通过它踩着我可以设置第一种方法中一个破发点,步入第二个方法,请参阅填充记录,返回的第一个方法,然后终于退出该方法。此时,我的IDE锁定了几秒钟,直到出现*错误。

对于整个系统的更准确:

  • 的IIS机器上运行WebOrb30。
  • 在VS IDE中 - >附加到进程(INETINFO。exe文件)
  • 登录到WebOrb30 - >管理控制台 - >下钻服务的切入点 - >输入CompanyID到输入框 - >点击调用
  • 命中断点在VS IDE - >(见上文)

注意

看起来它可以通过EF另一个问题引起的。有关进一步说明,请参见C# - Entity Framework - An unhandled exception of type 'System.*Exception' occurred in mscorlib.dll

+0

你可以发布调用GetAutoNegotiationByCompany的方法(部分)吗? – gingerbreadboy 2010-01-14 21:27:04

由于我的实体框架中存在一个错误,我正在对我的一个关系进行循环调用。这导致了一个堆栈溢出,它被报告给WebOrb作为一般错误,并且WebOrb将停止导致App Pool崩溃。 (我还是不太明白所有的细节)。当我没有关系重建我的EF模型时,行为就消失了。 (叹息/)

EF将是另一个问题(或一系列问题)。

我可能是有两个应用程序/网站使用一个应用程序池,但应用程序/网站运行的是不同的.net版本。

这可能不是这种情况,但它是我唯一遇到过的与iis类似的问题。

+0

我现在只有一个应用程序,虽然它也运行一个简单的WCF服务(并且已经持续了几个星期)。我添加到我的帖子,以便可以向另一个方向倾斜。 – 2010-01-14 20:45:43