我们有一些与WCF服务有关的问题,我正在做一些测试: 我刚刚创建了新的WCF客户端和服务默认设置并监控它如何在TCP级别上工作。我使用.NET 4.0和的net.tcp结合WCF:Close()是否真的关闭连接?
而我所看到的:使用声明后关闭WCF并没有真正的服务器紧密结合... 在TCP层应发送[FIN]包服务器,但是它不做任何事情,只是在等待和在2分钟内服务器终止连接与[RST]包。我附上了wireshark的一些截图
我相信这是wcf的工作原理,但我无法找到一些信息来确认它。 另外我注意到比如果使用语句关闭之后,我使用的语句打开新的它使用相同的端口上的客户端进行通信......(portsharing是假的客户端)
我的问题:
- 为什么WCF不使用关闭连接到服务器后使用语句是 关闭?
- 我该怎么做才能使它正确关闭连接(发送[FIN]语句)?
谢谢。 p.s.我没有附加任何配置,因为它是VS2010为我创建的默认值。
看起来像减少的idleTimeout可以减少数量的重置包,并将maxOutboundConnectionsPerEndpopint设置为0,始终关闭连接 – 2012-01-31 15:04:34