如何处理asmx服务抛出的异常?

时间:2008-10-14 13:11:56

标签: asp.net error-handling

ASP.NET ASMX服务偶尔会抛出异常。但是,global.asax Application_Error方法似乎没有捕获它们。问题是,如何配置全局错误处理程序来捕获和记录这些异常?

3 个答案:

答案 0 :(得分:2)

ASMX Web服务的基本问题(这不是问题)是服务层背后的任何异常都会作为SOAP异常抛出到客户端。您需要捕获SOAP异常,然后在那里查找内部异常。

更好更干净的方法是在应用程序中实现SOAP处理程序。通过此序列化SOAP异常,并在客户端对其进行反序列化。这样您就可以完全控制异常流,而不是.net框架。

HTH

答案 1 :(得分:0)

是抛出异常的ASMX还是AJAX JavaScript?

如果是Javascript,您需要将异常处理写入JS,然后将其推送回服务器以在您的错误数据存储中进行跟踪 - 可能是通过另一次调用您的Web服务。

如果它是ASMX,那么它可能会被你的Application_Error捕获,但是当ASMX返回XML或JSON时,它不一定会显示在你的UI上,除非你正在寻找它。

答案 2 :(得分:0)

客户端我只需用JavaScript包装您对服务的调用。 在服务器端,应将错误记录在服务器日志中。 http 500错误

相关问题