我们有几百个通过 ADO.NET 调用存储过程的 WCF 服务。我们希望客户端更智能地处理服务器异常。我有使用具有自定义故障类型的通用 FaultException 的工作代码,但我想只要我在这里,我想尝试抛出非通用 FaultException,并将所有额外信息放入其数据集合中。
但我无法做到这一点。FaultException 是按照我的意愿在服务器上创建的,我将其抛出,但有人捕捉到它并抛出一个新的 FaultException,其标准数据值是:“MethodName”、“parameters”、“AsyncActionDescription”。所以我要么做错了,要么你不能那样做。
我很难找到这方面的文档。一切都是关于使用泛型 FaultException<T>。仅出于这个原因,我想我会坚持使用泛型,特别是因为我已经让它工作了。因为 STRONGLY TYPED 无疑有人会正确地提醒我。
我只是好奇这里发生了什么。