我們有一些與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