【发布时间】:2011-11-08 13:11:46
【问题描述】:
伙计们,
我有一个应用程序,它主要是一个包含大量用户控件和自定义控件的页面。正在使用 ASP.Net WebPart。网页及其母版页中几乎没有代码:它们都在各种组件中。
设计要求包括错误消息显示面板。客户希望应用程序在错误消息显示上显示应用程序任何部分中发生的任何错误,而不是转到自定义错误页面。 (这是最近的决定:当我们开始时,我们正在考虑自定义错误页面。)
据我所知,WebPart 不提供任何默认错误处理(不捕获错误和显示消息),并且当发生内部错误时,用户控件不一定会触发其 OnError 事件。
所以我正在考虑将所有内容都包含在 Try ... Catch 块中,至少在表示级别,并进行处理。所以我的问题是:是否有任何简单的方法来实现一种全局或至少类范围的错误处理程序,它将以我选择的方式处理错误,中断正在执行的例程,但返回(在处理后) 到失败的方法的调用者?
我愿意修改代码来验证子例程是否完成了他们应该做的事情并返回了适当的值(例如:非空数据对象。)我不希望整个过程被中止到最顶部,跳过渲染,或者(当然)著名的黄白屏幕。
我想这是面向方面编程的一个例子,但我认为 ASP.Net 还没有提供类似的东西。我也没有得到 EntLib 5.0 的印象。
如果可以用一个属性来装饰一个方法,该属性意味着“在错误调用某某类的某某静态方法”时,我会很喜欢它。但我对此表示怀疑。
欢迎提出任何建议。
谢谢,
安L.
【问题讨论】:
-
我有完全相同的问题要解决。你有没有找到解决方案?谢谢
-
@Chamila 我没有找到解决方案。但是,我认为现代 ASP.NET - 尤其是 MVC - 提供了比我在 2011 年更多的选择。不幸的是,我对它的调查还不够好,无法提出建议,所以我所能做的就是建议你看看最近的对 ASP.NET 的补充。祝你好运!
标签: asp.net user-controls error-handling web-parts