【发布时间】:2011-08-02 08:21:35
【问题描述】:
几天前我问了一个非常相似的问题。我是关于在应用程序中返回值/错误。我接受不将错误作为对象返回但抛出自定义异常的答案。 现在,我不确定如何使用 WCF 服务来处理它。我希望服务对客户来说尽可能简单。
一般来说,我的项目是这样的: 客户端 -> WCF 服务应用程序 -> 数据库。
在 WCF 应用程序中,我有自己的异常类,它运行良好。但是假设客户想要从数据库中获取某物。我的问题是: 我应该在我的应用程序之外向客户返回什么? A. 复杂类型:带有元数据的值(有关可能的错误[1] 的信息)。当真正发生意外错误时抛出异常。 B. 只是一个值(当可能发生错误时——抛出异常)
[1] - 无效的字符串格式,无法连接到数据库或类似的东西。我的意思是-如果我知道错误到底是什么-为什么要向客户端抛出异常-我不确定。
【问题讨论】:
-
尝试
Either(也称为Tagged Union)construction,它包含一个值或一个错误。当我在 WCF 中使用它时,它变得非常强大。
标签: c# .net wcf custom-exceptions