0

奇怪的是,我在谷歌上找不到任何东西。在做常规异常的事情时,你会创建一个MyCustomException : Exception,我假设同样适用于 ExceptionFaults。

当有人使用无效的 api 密钥调用我的服务时,我想抛出 InvalidApiKeyExceptionFault。我似乎无法在网上找到如何设置它并让客户端能够捕获它的示例(可能是某个属性将其包含到 WSDL 中)。

有什么建议去哪里看,还是我在尝试一些不可能的事情?

4

1 回答 1

5

您应该使用FaultException<TDetail>并将您的特定信息放入可序列化TDetail类型中。

您的服务合同应该有一个指定类型的故障合同。TDetail

此技术使您能够以可互操作的方式传达错误信息,包括与对 .NET 异常一无所知的客户端。

如果由于某种原因您不想使用故障合同,您可以考虑使用非通用FaultException,并在故障原因和/或故障代码/子代码中传达有关错误的其他信息。

于 2013-05-29T08:46:11.077 回答