在ASP.NET异步回发期间,处理错误的公认方法是什么?

在ASP.NET异步回发期间,处理错误的公认方法是什么?,asp.net,exception-handling,updatepanel,Asp.net,Exception Handling,Updatepanel,我们有一个ASP.NET页面,它使用更新面板进行部分页面回发。在服务器端,回发执行一些数据库工作并更新几个UI元素。数据库代码都包含在多个事务中,因此如果引发异常,状态仍然是一致的。我们现在正在编写一些错误处理代码,我的第一个想法是记录抛出的异常,重新加载最后一个一致的UI状态,并向用户显示某种模式弹出窗口或其他UI元素,并显示一条简短的错误消息(这是一个intranet页面,因此我们会自动收到错误通知,用户知道在哪里可以找到我们:) 这是个好主意吗?对于我们的最终用户来说,有什么更好的选择呢?

我们有一个ASP.NET页面,它使用更新面板进行部分页面回发。在服务器端,回发执行一些数据库工作并更新几个UI元素。数据库代码都包含在多个事务中,因此如果引发异常,状态仍然是一致的。我们现在正在编写一些错误处理代码,我的第一个想法是记录抛出的异常,重新加载最后一个一致的UI状态,并向用户显示某种模式弹出窗口或其他UI元素,并显示一条简短的错误消息(这是一个intranet页面,因此我们会自动收到错误通知,用户知道在哪里可以找到我们:)


这是个好主意吗?对于我们的最终用户来说,有什么更好的选择呢?

我会记录异常并重定向到错误页面(“对不起,我们搞砸了”)

在大多数情况下,我认为不值得进行复杂的恢复(最后的一致状态)。在某些情况下,可能是这样,但大多数情况下不是这样


请注意,标准机制将为您完成大部分工作。指定一个错误页面,ASP.NET将在出现错误时重定向到该页面。另外,ASP.NET运行状况监视会将未处理的异常记录在事件日志中。

据我所知,使用UpdatePanels,当发生错误时,用户只会收到javascript错误(表示异常)的通知,并且更新未完成,页面仍保持异常前的状态。这不是因为IIS设置而重定向的吗?