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