【问题标题】:Application Pool crashing?应用程序池崩溃?
【发布时间】:2012-03-30 12:30:37
【问题描述】:

我有一个在 IIS7.5 上运行的 Web 服务。 BizTalk 将数据发送到 WS。 WS 打开 SharePoint 对象模型并将执行一些事务。几次 BizTalk 调用后,WS 应用程序崩溃,EventViewer 中显示以下信息。

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: MSVCR80.dll, version: 8.0.50727.6195, time stamp: 0x4dcdd833
Exception code: 0x40000015
Fault offset: 0x0000000000006a68
Faulting process id: 0x2010
Faulting application start time: 0x01cd0161a09e2134
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_88e41e092fab0294\MSVCR80.dll

系统日志:

为应用程序池“WebServices”提供服务的进程与 Windows 进程激活服务发生了致命的通信错误。进程 ID 为“8208”。数据字段包含错误号。

【问题讨论】:

标签: asp.net web-services iis iis-7 biztalk


【解决方案1】:

上次我崩溃 IIS 是因为我不小心对构造函数建模,使其进入无限循环。如果你都是托管代码,除非你无限地点击/填充内存,否则你很难让 IIS 崩溃。

我建议您对代码运行探查器,并从 Visual Studio 的代码分析工具中获得帮助。看看你是否正在处理连接,或者你有没有像我一样的无限循环。通常是我们,而不是框架或硬件:)

ps:如果您有一次性物品,请确保您使用的是“使用”块,这是确保您处理物品的最佳方式。 (代码分析最终会指出来)

ps2:另一种了解问题的好方法可能是将关键事件(或您怀疑的内容)记录在文本文件中。您可能知道许多日志库可用于 dotnet(我会选择 NLog

【讨论】:

    【解决方案2】:

    由于您使用的是 SharePoint 对象模型,我认为 detay 的说法很有可能,但我不确定这会导致应用程序故障。我想你可能会看到内存不足的异常。令人惊讶的是,这不是 BizTalk 应用程序故障。

    如果您在分析和查看代码后没有看到任何内容,我会就此问题联系 Microsoft 支持。诊断应用程序故障可能很困难,呼叫支持将更快地找到问题的根源。

    谢谢,

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 2011-11-18
      • 2010-10-03
      • 1970-01-01
      • 2018-04-25
      • 2017-03-14
      • 2011-03-03
      • 2012-08-30
      • 1970-01-01
      相关资源
      最近更新 更多