2011-09-12 20 views
26

好的,我可以發泄嗎?我對此感到厭倦和厭倦。我在大部分時間都在工作,WCF服務工作得很好。下次我運行我的應用程序並進行WCF調用時,bam! tcp套接字不再可用。我已經搜索了高和低來解決這個問題,並沒有真正的解決方案。我能找到的唯一解決方案是重新啓動機器,這是一個巨大的時間浪費和負擔。重新啓動WPA服務,net.tcp服務,IIS等不會做任何事情。註銷並重新啓動不會修復它。只有重新啓動才能修復此問題。我什麼都不做,除了再次運行我的應用程序做一個WCF調用,併發生這種廢話。沒有任何配置問題。我幾個月來一直在處理這個問題,並且找不到任何具體原因或解決方案,爲什麼會發生這種情況。它發生在我的防火牆開啓或關閉,無關緊要。WCF - 郵件無法發送,因爲在端點地址...的服務不可用於地址協議

來自任何人的洞察?我認爲在WCF/net.tcp層中存在一個真正的錯誤,它導致了這一點。我甚至在生產2008 R2服務器時,有時會更改Web.config,因此我已經學會在更改之前停止IIS,WPA,net.tcp等服務,然後重新啓動它們。多麼痛苦。

我正在使用.NET4,VS2010,所有服務包等應用。一切都是最新的。

對不起我,而我重新啓動.....

任何人都可以在這方面幫助?

+0

您是在IIS中託管,還是將其作爲服務或自行託管的應用程序運行?您是否嘗試過使用'netstat'或TCP View這樣的工具:http://technet.microsoft.com/zh-cn/sysinternals/bb897437以查看端口是否正在關閉,或者其他端口是否正在接管端口? – CodingWithSpike

+0

我在調試這樣的服務的時候遇到了與WCF服務相同的經歷。隨機可能會發生這樣的情況,即在系統無法應對它的時間點停止調試會話。解決此問題需要端口排序掛起,並重新啓動系統。投了這個,因爲我很好奇這個的起源和可能的解決方案是... – kroonwijk

+0

這是一個問題嗎?它看起來更像是一個關於某個未知問題的悲慘故事=在這種情況下,最好通過門票(MS合作伙伴)或通過MS Connect聯繫MS支持。 –

回答

22
  1. 打開命令提示
  2. 導航到C:\ Windows \ microsoft.net \ framework64 \ v4.0.30319
  3. 使用命令 「ServiceModelReg.exe -r」
註冊服務模型

積分去那裏http://kumaranbose.blogspot.be/2010/08/cryptic-wcf-nettcp-errors.html

+0

我不能將此標記爲正確的答案,因爲這不是我的問題,如果這是我的問題,這將是正確的答案。我走過幾個msdn howtos,沒有人提到這一步。 – THBBFT

+0

@Serge畢竟這一次,謝謝。 – slimflem

0

聲音的net.tcp偵聽器適配器服務是由Web服務把通道故障狀態的一些過程或例外是拋出殺害。

您是否嘗試將服務的啓動類型設置爲自動並且在第一次和第二次失敗時恢復重新啓動服務?

我非常懷疑wcf net.tcp通道層有一個bug。如果偵聽器正在運行,並且tcp套接字不再可用,那麼我建議您查看代碼,特別是在異常處理策略周圍,並查看iis請求日誌。

6

這個問題現在追捕了我近3年,但只是偶爾發生。 TCPView幫助。 我殺了SMSSvcHost.exe進程,然後重新啓動Net.Tcp偵聽器適配器服務。這清除了問題。不是一個真正的解決方案,但至少,我不必訴諸重新啓動服務器了。

3

我有這個問題。這會在每次IIS重置後發生(這是部署的一部分)。重新啓動NetTcpPortSharing服務後(該問題也會重新啓動Net),問題得到解決。Tcp Listener Adapter服務)

+0

這對我有效。 – Hogan

-1

在AD中檢查用於在IIS中運行應用程序池的帳戶。

應用程序池可能正在運行,但如果帳戶被禁用/鎖定/需要更改密碼,將在第一次連接嘗試時停止。