我在IIS中托管了WCF服务(.NET 4)。我的服务合同有一种方法:
[FaultContract(typeof(string))]
我对该方法的服务实现验证输入参数,并可能抛出如下异常:
if (string.IsNullOrWhiteSpace(siteName)) { throw new FaultException("siteName is required."); }
此服务的使用者程序是.NET 2控制台应用程序。在这个应用程序中,我通过右键单击“引用”和“添加Web引用”来生成Web服务代理。
当我尝试从客户端应用程序调用服务方法时,通过发送无效的siteName,我得到一个 503 Service Unavailable 异常,而不是带有自定义错误消息的FaultException。
如何使用自定义错误消息将FaultException传播到客户端程序?
更新
我在客户端应用程序中获得的异常是:
System.ServiceModel.ServerTooBusyException: HTTP服务位于 http://www.example.com/services/myservice.svc 太忙了。 ---> System.Net.Web 例外:远程服务器返回 错误:(503)服务器不可用。
在 System.Net.HttpWebRequest.GetResponse() 在 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpCha nnelRequest.WaitForReply(时间跨度 超时)---内部异常结束 堆栈跟踪---
答案 0 :(得分:0)
问题是由我们的Web项目中的自定义HTTP模块引起的。所以它不是WCF问题,而是我们解决方案特有的问题。谢谢!