处理来自Web服务代理的WCF异常

时间:2010-07-22 19:46:10

标签: web-services wcf wcf-client

我在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(时间跨度   超时)---内部异常结束   堆栈跟踪---

1 个答案:

答案 0 :(得分:0)

问题是由我们的Web项目中的自定义HTTP模块引起的。所以它不是WCF问题,而是我们解决方案特有的问题。谢谢!