请指导例外情况

时间:2009-12-12 10:05:36

标签: web-services

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

层次结构在跟踪应用程序的自然流程方面非常糟糕,因此,您可以在那里做出选择。我喜欢将这种代码放入业务层,尽管我无法提出令人信服的案例来挽救我的生命。

答案 2 :(得分:0)

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

  • 您可以在将来更改演示层,如果您知道真正的错误/异常,则可以轻松,轻松地处理它。
  • 您可以让一个类在表示层处理每种类型的错误,并向用户发送自定义消息

尽管如此,这是我的意见,并没有严格的规则。我也同意“Niko”在Business Layer处理这些事情。

以下文章可能会给出更多关于体系结构的信息(仍然不是错误处理)。   - http://www.codeproject.com/KB/cs/CLR_SP_Linq_n-tier.aspx