【问题标题】:Please Guide about Exceptions请指导例外情况
【发布时间】:2010-12-25 23:07:38
【问题描述】:

我有一个带有演示层、业务层、数据访问层的 Web 应用程序。我通过与我的数据访问层连接的 Web 服务获取数据。意味着它是我正在使用的一种远程处理类型。在这种情况下,在我的 DAL 和业务层中,我必须处理哪个异常? 请指导我。

【问题讨论】:

    标签: web-services


    【解决方案1】:

    我将 Web 服务视为表示层的另一种形式。它应该尽可能使用与 Web UI 相同的业务层组件。

    即使在相当基本的 REST 样式服务中,我也尝试始终在请求的数据周围包含一个基本的 Response 包装器 - 这可以确保在发生故障时,我仍然可以返回带有错误标志集的响应,并且希望有一些描述性消息的形式。

    我总是尽量确保我不会从较低层(例如 DAL)传递异常数据,因为这可能是一个安全问题。但是,通常应该记录该异常数据。

    【讨论】:

      【解决方案2】:

      众所周知,层架构在遵循应用程序的自然流程方面很差,所以,好吧,你有一些选择。我喜欢将这种代码放入业务层,尽管我无法提出令人信服的理由来挽救我的生命。

      【讨论】:

        【解决方案3】:

        我认为您不应该在数据访问层或业务层处理任何错误。你只需要把它扔到下一层,所以最后你在表示层有一个错误/异常。所有的错误/异常都应该在表示层处理,其背后的原因是..

        • 您将来可能会更改表示层,如果您知道真正的错误/异常,处理它会很容易和舒适
        • 您可以让一个类在表示层处理每种类型的错误并向用户抛出自定义消息

        不过,这是我的意见,并没有硬性规定。我也同意“Niko”在业务层处理此类事情。

        以下文章可能会更深入地了解架构(但仍不是关于错误处理)。 - http://www.codeproject.com/KB/cs/CLR_SP_Linq_n-tier.aspx

        【讨论】:

          猜你喜欢
          • 2013-07-19
          • 1970-01-01
          • 2013-12-20
          • 2012-04-25
          • 1970-01-01
          • 1970-01-01
          • 2019-08-14
          • 2011-12-25
          • 2010-09-15
          相关资源
          最近更新 更多