经过近5个月的这种配置,我现在得到了一系列的:
“为应用程序池‘经典.NET AppPool’提供服务的进程与发生了致命的通信错误,进程id为‘1640’。”
。
这导致:
由于为应用程序池提供服务的进程(Es)发生了一系列故障,
应用程序池“经典.NET AppPool”将被自动禁用。
对于我的生活,我无法弄清楚是什么改变导致了这一切,也不知道如何更深入地挖掘,找出是什么导致了失败。
我最近(2周前)开始在我的解决方案中添加实体框架。在此之前,我确实得到了一个“出栈空间”错误,因为报告了一个自引用调用。我在我编写的代码中找不到这样的调用,我怀疑EF可能在我的简单(3表)模型中添加了一个联接,这是错误的。
对从哪里开始找有什么想法吗?什么会导致AppPool失败?
提亚
备注:
'System.StackOverflowException‘类型的未处理异常发生在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锁定了几秒钟,直到得到StackOverflow错误。
为了更准确地了解整个系统:
在IIS计算机上运行
命中断点(见上文)
注意事项
看来这可能是由EF的另一个问题引起的。有关进一步澄清,请参见C# - Entity Framework - An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll。
发布于 2010-01-19 20:31:13
因为我的实体框架中有一个bug,我被循环调用到我的一个关系中。这导致堆栈溢出,这是向WebOrb报告的一般错误,而WebOrb将停止,导致App崩溃。(我仍然不太明白所有的细节)。当我重建我的EF模型没有关系时,行为就消失了。(叹息/)
EF将是另一个问题(或一系列问题)。
发布于 2010-01-14 20:36:06
我可能有两个应用程序/站点使用一个应用程序池,但应用程序/站点运行的.net版本不同。
情况可能不是这样,但这是我在iis中遇到的唯一类似的反复出现的问题。
https://stackoverflow.com/questions/2067334
复制相似问题