首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >is 7/Win7 7- App突然失败

is 7/Win7 7- App突然失败
EN

Stack Overflow用户
提问于 2010-01-14 20:29:18
回答 2查看 1.9K关注 0票数 1

经过近5个月的这种配置,我现在得到了一系列的:

“为应用程序池‘经典.NET AppPool’提供服务的进程与发生了致命的通信错误,进程id为‘1640’。”

这导致:

由于为应用程序池提供服务的进程(Es)发生了一系列故障,

应用程序池“经典.NET AppPool”将被自动禁用。

对于我的生活,我无法弄清楚是什么改变导致了这一切,也不知道如何更深入地挖掘,找出是什么导致了失败。

我最近(2周前)开始在我的解决方案中添加实体框架。在此之前,我确实得到了一个“出栈空间”错误,因为报告了一个自引用调用。我在我编写的代码中找不到这样的调用,我怀疑EF可能在我的简单(3表)模型中添加了一个联接,这是错误的。

对从哪里开始找有什么想法吗?什么会导致AppPool失败?

提亚

备注

'System.StackOverflowException‘类型的未处理异常发生在mscorlib.dll中

我有一个外部对象,它调用此方法来获取单个记录:

代码语言:javascript
运行
复制
public static AutoNegotiationDetails GetAutoNegotiationByCompany(Guid companyId)
{
    return RivWorks.Controller.Negotiation.GetAutoNegotiationByCompany(companyId);
}

该方法调用:

代码语言:javascript
运行
复制
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计算机上运行

  • 运行WebOrb30。
  • 在VS IDE ->附加到进程(INETINFO.exe)
  • 日志到WebOrb30 ->管理控制台->下钻取到服务入口点->进入输入框,在VS ->中单击->调用

命中断点(见上文)

注意事项

看来这可能是由EF的另一个问题引起的。有关进一步澄清,请参见C# - Entity Framework - An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-19 20:31:13

因为我的实体框架中有一个bug,我被循环调用到我的一个关系中。这导致堆栈溢出,这是向WebOrb报告的一般错误,而WebOrb将停止,导致App崩溃。(我仍然不太明白所有的细节)。当我重建我的EF模型没有关系时,行为就消失了。(叹息/)

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

票数 0
EN

Stack Overflow用户

发布于 2010-01-14 20:36:06

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

情况可能不是这样,但这是我在iis中遇到的唯一类似的反复出现的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2067334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档