WCF服务访问超时的问题
2011-06-02 14:54
253 查看
今天写程序,突然发现使用WCF获取数据时,刷新20次就会报超时,捕获异常信息为WCF服务不可用。后来跟同事讨论了一下,发现clent端未在声明使用clent对象的之后没有做关闭处理,修正完毕后问题解决。
之所以是20次就超时是因为在Hosting的config中定义了访问限制:最大当前会话数为20……
关闭处理需要在每个单独的try catch语句块之内调用close,不应该使用 using
语句(Visual Basic 中的 Using
),因为该语句可以屏蔽处于某些失败模式的异常。
具体参见:
WCF 客户端概述
MSDN提供了这样一段示例代码:
其中分别使用了Close和Abort,查了一下,后者与前者的区别在于,后者为立即关闭。
具体参见:
ClientBase<
之所以是20次就超时是因为在Hosting的config中定义了访问限制:最大当前会话数为20……
<serviceThrottling maxConcurrentCalls="50" maxConcurrentInstances="30" maxConcurrentSessions="20" />
关闭处理需要在每个单独的try catch语句块之内调用close,不应该使用 using
语句(Visual Basic 中的 Using
),因为该语句可以屏蔽处于某些失败模式的异常。
具体参见:
WCF 客户端概述
MSDN提供了这样一段示例代码:CalculatorClient wcfClient = new CalculatorClient(); try { Console.WriteLine(wcfClient.Add(4, 6)); wcfClient.Close(); } catch (TimeoutException timeout) { // Handle the timeout exception. wcfClient.Abort(); } catch (CommunicationException commException) { // Handle the communication exception. wcfClient.Abort(); }
其中分别使用了Close和Abort,查了一下,后者与前者的区别在于,后者为立即关闭。
具体参见:
ClientBase<
TChannel
>
成员
相关文章推荐
- WCF服务以控制台程序为宿主时的跨域访问问题(附源码) (转载)
- Silverlight访问Window服务为宿主的WCF跨域问题解决方案.
- WCF客户端无法访问服务原因之一:时间不同步问题
- 总结最近两天另人抓狂的WCF跨服务访问问题
- WCF服务以控制台程序为宿主时的跨域访问问题(附源码)
- WCF客户端无法访问服务原因之二:连接数问题
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- WCF服务以控制台程序为宿主时的跨域访问问题(附源码)
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- 控制台程序托管WCF服务跨域访问问题解决
- WCF客户端无法访问服务原因之二(连接数问题)
- wcf服务配置以及解决超时问题
- 局域网跨机访问WCF服务出错本机访问正常的问题
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- WCF客户端无法访问服务原因之一时间不同步问题
- Silverlight访问WCF服务跨域问题
- WCF 套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的
- WCF服务注意问题之-回调
- 安装TestDriven.net 遇到不能访问Windows Installer服务的问题,解决!!!
- WCF服务发布到IIS时候,只能根据hostname访问,不能根据IP地址访问的解决办法