首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.net运行状况监视是否与asmx web服务一起工作?

ASP.net运行状况监视是否与asmx web服务一起工作?
EN

Stack Overflow用户
提问于 2008-10-09 14:35:49
回答 5查看 2K关注 0票数 4

我正在尝试使用ASP.net运行状况监控来记录来自asmx web服务的未处理的异常。我已经在web.config中启用了健康监控,但它没有记录任何内容。运行状况监控与asmx web服务一起工作吗?我用谷歌搜索了一下,似乎其他人也问过同样的问题,但从来没有得到过明确的答案。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-04-02 08:44:49

请不要张贴回复,除非它回答了所提出的问题。除了问题之外,其他问题的一半答案会让读者感到困惑。运行状况监视与“真正未处理”的ASP.NET异常或Application_Error事件无关。

答案是否定的。我对此进行了一些挖掘,由于某些原因,web方法中引发的异常永远不会到达健康监控提供者。看起来你必须抓住他们并控制好自己。

票数 9
EN

Stack Overflow用户

发布于 2008-10-09 20:24:14

未处理异常的正常解释与Tom所指的异常之间存在差异。Tom所指的是真正未处理的异常,这将杀死您的w3wp.exe进程(在它有机会记录它之前),正如我在这里所写的:http://www.improve.dk/blog/2008/04/07/spawning-threads-in-aspnet-can-be-dangerous

正常的未处理异常将导致异常发生,并向用户/被调用者显示错误页面。但是,它不会使您的w3wp.exe进程崩溃。这些异常应该由运行状况监视来发现。

票数 1
EN

Stack Overflow用户

发布于 2008-10-23 03:06:10

在Global.asax中,如果使用由Visual Studio自动生成的方法,则可以向Application_Error方法添加代码,以处理异常并以您选择的任何方式记录这些异常。还可以重写Init方法并为类的Error事件添加事件处理程序。

在这两种情况下,您只能得到一个没有任何帮助的普通EventArgs对象,但是您可以使用HttpContext.Current.Server.GetLastError()来获取发生的异常。

正如另一个发帖者提到的,这可能不会捕获由异步运行的委托、您自己启动的线程或使用Page.RegisterAsyncTask()创建的异步页面任务抛出的异常。在这些情况下,您始终需要确保实现具有异常后盾,以便可以捕获异常,并且IIS工作进程不会中止。

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

https://stackoverflow.com/questions/187551

复制
相关文章

相似问题

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