当前位置:  开发笔记 > 运维 > 正文

超时WCF服务

如何解决《超时WCF服务》经验,为你挑选了2个好方法。

如何在WCF中使用超时?我知道您可以为客户端绑定配置sendTimeoutreceiveTimeout.但它们如何运作?

MSDN将sendTimeout描述为:

TimeSpan值,指定为完成发送操作提供的时间间隔.该值应大于或等于零.默认值为00:01:00.

什么是发送操作/接收操作?



1> Brian..:

客户端:

SendTimeout用于初始化OperationTimeout,它控制发送消息的整个交互(包括在请求 - 回复情况下接收回复消息).从CallbackContract方法发送回复消息时,此超时也适用.

打开和关闭通道时使用OpenTimeout和CloseTimeout(当没有传递显式超时值时).

未使用ReceiveTimeout.

服务器端:

发送,打开和关闭超时与客户端(用于回调)相同.

ServiceFramework层使用ReceiveTimeout初始化会话空闲超时.

来源是MSDN论坛上的Brian McNamara.



2> MiFreidgeim ..:

请参阅"WCF中的超时及其默认值" http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values.aspx

绑定超时 - SendTimeout,ReceiveTimeout,OpenTimeout和CloseTimeout.它们可以通过配置或Binding上的代码轻松设置.这些的默认值是1分钟.

ServiceHost具有OpenTimeout和CloseTimeout.OpenTimeout的默认值为1分钟,CloseTimeout的默认值为10秒.

客户端通道超时.有一个OperationTimeout,你可以通过将频道转换为IContextChannel来设置它.默认值为1分钟.tcpout上的Ttimeout,称为ChannelInitializationTimeout,其默认值为5秒.

ASPNET.有关机超时,就像服务主机关闭超时一样,默认为90秒.ExecutionTimeout,就像我们的操作超时一样,默认为110秒.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有