简体   繁体   English

应用程序池崩溃了吗?

[英]Application Pool crashing?

I have a Web Service running on IIS7.5. 我有一个在IIS7.5上运行的Web服务。 BizTalk sends the data to WS. BizTalk将数据发送到WS。 WS open SharePoint object model and will does some transactions. WS打开SharePoint对象模型,并将执行一些事务。 After couple of BizTalk calls WS application is crashing with below information in the EventViewer. 几次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

System Logs: 系统日志:

A process serving application pool 'WebServices' suffered a fatal communication error with the Windows Process Activation Service. 为应用程序池“ WebServices”提供服务的进程与Windows Process Activation Service发生致命的通信错误。 The process id was '8208'. 进程ID为“ 8208”。 The data field contains the error number. 数据字段包含错误号。

Last time I crashed IIS was because I accidentally modeled a constructor so that it'd enter to an infinite loop. 上次使IIS崩溃的原因是我不小心对构造函数进行了建模,以使其进入无限循环。 If you're all managed code it is really hard for you to crash IIS unless you're hitting/filling the memory infinitely. 如果所有代码都是托管代码,那么除非您无限地访问/填充内存,否则使IIS崩溃真的很难。

I'd recommend you to run a profiler on your code, and get help from Visual Studio's Code Analyze tools. 我建议您在代码上运行探查器,并从Visual Studio的代码分析工具获取帮助。 See if you're disposing connections, or you have any infinite loops like I did. 看看您是否正在布置连接,或者像我一样有任何无限循环。 It's usually us, not the framework or the hardware :) 通常是我们,而不是框架或硬件:)

ps: if you have disposable objects, make sure you're using the "using" blocks, best way to make sure you're disposing stuff. ps:如果您有一次性物品,请确保使用“使用”块,这是确保处置物品的最佳方法。 (Code Analysis will point them out eventually) (代码分析将最终指出它们)

ps2: another good way of understanding what's wrong may be logging the critical events -or stuff that you are suspicious about- on a text file. ps2:了解问题的另一种好方法可能是将关键事件(或您怀疑的东西)记录在文本文件中。 As you may know many logging libraries are available for dotnet (i'd go for NLog ) 如您所知,许多日志库可用于dotnet(我会使用NLog

Since you are using the SharePoint object model I think there is a good possibility of what detay is saying but I am not sure this would lead to an application fault. 因为您使用的是SharePoint对象模型,所以我认为很可能发生detay所说的事情,但是我不确定这会导致应用程序故障。 I think you would probably see out of memory exceptions. 我认为您可能会看到内存不足的异常。 It is surprising that this is not a BizTalk application fault. 令人惊讶的是,这不是BizTalk应用程序错误。

If you do not see anything after doing profiling and reviewing your code, I would contact Microsoft Support about this issue. 如果在进行概要分析和检查代码后看不到任何内容,我将与Microsoft支持人员联系以解决此问题。 It can be difficult to diagnose an application fault and a call to support will get to the bottom of the problem much faster. 诊断应用程序故障可能很困难,而寻求支持的电话将使问题的根源更快。

Thanks, 谢谢,

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM