WCF服务出错时,客户端如何做到不受影响?

游北亮
博客专家认证
2012-03-15 10:28:03
目前的状况是,一个Web站点去调用一些WCF服务,获取数据,当WCF服务挂掉(比如WCF程序频繁出错,或服务器挂了),
就会导致调用方也跟着出问题,刚开始是连接时间越来越长,过一会就变成503服务器忙的错误了
调短超时时间设置,也没有效果:
<binding name="WSHttpBinding_IService" openTimeout="00:00:05" sendTimeout="00:00:10" receiveTimeout="00:00:10" closeTimeout="00:01:00"

我目前的想法是,通过try去捕获WCF调用的错误,如果10分钟内错误超过一定次数,就不再去调用这个WCF服务了
这样应该可行吧?

有没有其它方案可以避免受到WCF服务失效的影响呢?
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
油锅中的蛤蟆 2012-03-26
  • 打赏
  • 举报
回复
1.在服务端多配置几个服务。
2.可以申请够买F5设备
3.可以有服务端程序里用try catch.在catch中也要返回内容。例如null
那在客户端接收到null值是提示他访问服务端出错
如果服务端有大问题。那就在客户端的catch中提示出错
机器人 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 youbl 的回复:]

不是配置无效,配置是有效的,10秒没有返回,客户端就抛出超时的Exception了
用户量大的时候,10秒也会造成503 Server is busy的错误

引用 2 楼 fangxinggood 的回复:
客户端配置无效?
[/Quote]
呵呵,变成DDos了?客户端防止不如改为服务端控制。

参考:
http://social.msdn.microsoft.com/Forums/eu/wcf/thread/9b6a37b4-8a9d-4e47-92c9-10362c14b297

http://stackoverflow.com/questions/4751834/wcf-asp-net-protected-against-misuse-such-as-dos
游北亮 2012-03-21
  • 打赏
  • 举报
回复
不是配置无效,配置是有效的,10秒没有返回,客户端就抛出超时的Exception了
用户量大的时候,10秒也会造成503 Server is busy的错误

[Quote=引用 2 楼 fangxinggood 的回复:]
客户端配置无效?
[/Quote]
机器人 2012-03-16
  • 打赏
  • 举报
回复
客户端配置无效?
铜臂阿铁木 2012-03-15
  • 打赏
  • 举报
回复
WCF服务挂了,怎么也不能避免受到影响,除非是很小的功能。
WCF服务挂掉,服务器没挂,就让服务器重新加载这个服务吧。

如果服务器挂了,那会非常快的反应出来的。

客户端try catch也需要等错误返回的。

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧