WCF从服务中断连接

时间:2014-03-26 20:25:02

标签: .net wcf

我在一个非常简单的WCF服务中遇到了一个奇怪的问题,该服务正常运行。该服务是一个只有一个操作和响应的Web服务,BasicHttpBinding和所有超时(接收,发送,连接,打开...)设置为10秒。突然有一天开始变得很慢(主要是网络问题),但是超时似乎没有用。

<binding
openTimeout="00:00:10"
closeTimeout="00:00:10"
sendTimeout="00:00:10"
receiveTimeout="00:00:10" />

我试图让这些超时工作,通过使用套接字连接到Web服务,并且不发送任何内容并等待几秒钟,但是连接仅在120秒后断开,因此最终超时不起作用

//connect to the web service
sock.Connect(address, port);
//send something invalid
byte[] buffer = Encoding.Default.GetBytes("hello");
sock.Send(buffer);
//wait to be dropped or something
sock.Receive(buffer);

如果没有收到字节,有没有办法在一定时间后从服务中手动删除连接?

谢谢!

1 个答案:

答案 0 :(得分:0)

由于您正在进行HTTP绑定,您确定自己没有被IIS中的连接超时设置捕获吗?默认值为 2分钟

http://www.iis.net/configreference/system.applicationhost/sites/sitedefaults/limits

  

指定IIS在断开连接之前等待的时间(以秒为单位)   被视为无效的连接。可以考虑连接   由于以下原因而无效:

对于自托管,这仍然是一个问题。请参阅此主题以获取适当的绑定设置。

HTTP Keep-alive and ServiceHost / C#?