【发布时间】:2010-12-10 09:18:49
【问题描述】:
我需要关于这个架构问题的提示。
我的应用程序调用不同的 wcf 服务来执行返回模型对象列表的特定任务。
比如说,我有一项服务,它可以查询证券交易所的标题,返回 List<SeTitle>。 [纯属虚构的例子,我正在读一本关于这个主题的书]
如果此列表的一个或几个元素发生异常,我在 wcf 服务中有两个选项:
- 捕获异常,记录它并返回列表,但这样我将丢失应用程序中所有错误项的证据。
- 在第一个错误时抛出异常,但这样即使只有一个项目“有问题”,我也不会收到任何信息。
我的意愿是选择第三种选择,这意味着我将始终归还我的清单,但要提供有缺陷的物品的证据。
我的想法是让我所有的模型对象扩展一个简单的接口,比如(请原谅名字,它们太可怕了)
public interface IWcfReturnObject
{
public List<WarningModel> Warnings;
}
和
public class SeTitle : IWcfReturnObject
以这种方式,列表的每个元素都可以有一个相关的警告/错误列表,然后返回给应用程序,然后返回到界面。
我的问题是:
- 我的问题清楚明白吗?! ;)
- 您认为我的愿望(从 wcf 接收所有带有警告的元素)在架构上是否良好?
- 您认为是否存在解决此问题的更好方法?
谢谢
M.
编辑:我正在研究并查看第一个答案,我认为提供一个我在 NET 上找到的解决方案很有用
可能的解决方案
- 我的方式
- 具有某种相关性的日志,并按照 decyclone 的建议将其引用到业务层
- AggregateException
【问题讨论】:
标签: c# exception exception-handling wcf