我在Model类中调用Web服务,该调用是从控制器调用的。有时Web服务会抛出异常(SOAP)。通过覆盖OnException
在filterconfig中处理在控制器级别发生的正常异常。对于在模型级别发生的SOAP异常,它们不会被捕获。我如何捕捉和处理这些例外?
在过滤器配置中处理异常:
public class CustomHandleErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
} }
答案 0 :(得分:0)
当ASP.NET Web服务中发生未处理的异常时,Error事件不会冒泡到HTTP模块。相反,它被ASP.NET运行时拦截,并且SOAP错误被返回给客户端。要在Web服务中记录错误,您需要创建一个侦听SOAP错误的SOAP扩展。您可以在此处了解有关创建SOAP扩展的更多信息:http://msdn.microsoft.com/en-us/library/ms972353.aspx。