【发布时间】:2013-05-31 15:26:53
【问题描述】:
我们有几百个 WCF 服务,它们通过 ADO.NET 调用存储过程。我们希望客户端更智能地处理服务器异常。我有使用具有自定义故障类型的通用 FaultException 的工作代码,但我想只要我在这里,我想尝试抛出非通用 FaultException,并将所有额外信息放入其数据集合中。
但我做不到。 FaultException 是按照我的意愿在服务器上创建的,我将其抛出,但有人捕捉到它并抛出一个具有标准数据值的新 FaultException:“MethodName”、“参数”、“AsyncActionDescription”。所以我要么做错了,要么你不能那样做。
我很难找到这方面的文档。一切都是关于使用泛型 FaultException
我只是好奇这里发生了什么。
【问题讨论】:
-
为什么你认为(或似乎基于你的第三段)
FaultException<T>不是强类型的? -
@Tim 你倒读了我。我认为 FaultException
是 more “强类型”,而不是普通的非泛型 FaultException,它的 Data 成员中添加了一些任意条目。我说我应该使用 FaultException 因为“强类型”。更不用说,我已经开始工作了。 -
哎呀....对不起。感谢您的澄清。
-
没有问题!感谢您的光临。