【发布时间】:2012-02-22 12:04:44
【问题描述】:
我们在 WCF 服务方面遇到了一些问题,我正在做一些测试: 我刚刚使用 默认设置 创建了新的 WCF 客户端和服务,并监控它在 TCP 级别上的工作方式。我使用 .net 4.0 和 net.tcp 绑定
我所看到的:在 using 语句关闭 WCF 后并没有真正关闭与服务器的连接... 在 TCP 级别上,它应该将 [FIN] 包发送到服务器,但它什么也不做,只是等待并在 2 分钟内服务器终止连接与 [RST] 包。我附上了一些来自wireshark的截图
我相信这是 wcf 的工作原理,但我无法找到一些信息来确认它。 我还注意到,如果在关闭 using 语句后,我打开新的 using 语句,它使用相同的端口在客户端进行通信......(客户端上的端口共享是错误的)
我的问题:
- 为什么 WCF 在 using 语句后不关闭与服务器的连接是 关门了吗?
- 如何才能使其正确关闭连接(发送 [FIN] 语句)?
谢谢。 p.s.我没有附加任何配置,因为它是 VS2010 为我创建的默认值。
【问题讨论】:
标签: wcf wcf-binding wcf-client