为什么UpdatePanel的部分异步请求中的异常没有记录到事件日志中?

3
在标准的PostBack中,如果发生异常,则将错误记录到事件日志中,源为“ASP.NET 4.0.30319.0”。这里有很多有用的细节。
如果在通过UpdatePanel调用的部分PostBack函数期间发生异常,为什么不将异常记录到事件日志中?是否需要启用某些功能才能使其正常工作?
我可以验证,在两种情况下,页面的OnError函数确实会触发,但仅在PostBack中才会记录错误。
1个回答

0

我不知道为什么异常没有记录到事件日志中

目前我找到的一些不太好的解决方法如下:

AsyncPostBackError中重新抛出异常

ScriptManagerAsyncPostBackError事件中捕获异常,然后进行包装并抛出。

缺点

  1. 客户端JavaScript代码会丢失原始异常消息。
  2. 异常被不必要地包装,可能会使调试稍微麻烦一点。

禁用EnablePartialRendering

ScriptManager上禁用EnablePartialRendering

优点

  1. 以与非异步回发一致的方式处理错误。

缺点

  1. 似乎有点违背使用UpdatePanel的初衷。
  2. 您将无法访问某些客户端类,例如Sys.WebForms

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接