我们有一个ASP.NET页面,它使用更新面板进行部分页面回发。在服务器端,回发执行一些数据库工作并更新多个UI元素。数据库代码全部包含在多个事务中,因此如果抛出异常,状态仍将保持一致。我们现在正在处理一些错误处理代码,我的第一个想法是记录引发的异常,重新加载最后一致的UI状态,并显示某种模式弹出窗口或其他ui元素,并为用户提供简短的错误消息(这是一个内部网页面,因此我们会自动通知错误,并且用户知道在哪里找到我们:)
这是个好主意吗?哪些替代方案对我们的最终用户更好?
答案 0 :(得分:3)
我会记录异常并重定向到错误页面(“抱歉,我们搞砸了”)。
在大多数情况下,我认为值得复杂恢复(最后一致状态)。在特定情况下,它可能是,但大多数情况下不是。
请注意,标准机制将为您完成大部分工作。指定一个错误页面,ASP.NET将重定向错误。此外,ASP.NET Health Monitoring将在事件日志中记录未处理的异常。