WCF服务maxConcurrentSessions

时间:2011-11-28 17:24:17

标签: wcf

我创建了一个WCF服务,用户要求是一次只在服务上连接一个客户端。

所以我将参数maxConcurrentSessions的值设置为1。

它运行良好,如果另一个客户端在特定时间后尝试连接,则会收到超时异常错误。

但我不喜欢将超时异常错误发送给客户端我想要更具体的错误,如:

发生超时是因为达到了服务上的最大客户端数。

类似的东西。

有没有办法做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

您可以通过实现IErrorHandler

来覆盖默认异常

来自MSDN

  

显式控制应用程序的行为时   抛出异常,实现IErrorHandler接口并添加它   到ErrorHandlers属性。 IErrorHandler使您可以显式   控制生成的SOAP错误,决定是否将其发送回   客户端,并执行相关的任务,如日志记录。错误   处理程序按照添加到的顺序调用   ErrorHandlers属性。

     

实现ProvideFault方法来控制故障消息   返回客户

同时检查此.Net WFC/Web service exception handling design pattern