我使用的綁定NetTcpBinding(通過互聯網),所有併發的東西和maxconnection設置爲高值(4000最大連接,併發,等等),所以節流設置真的很高,事實上從服務器的wcf性能計數器,我可以看到沒有一個併發計數器是滿的,但是...但我經歷了一個超時噩夢描述如下:WCF NetTcpBinding超時問題 - 奇怪的行爲
「超時只是定義了等待服務真正失敗並給出錯誤所需的時間,但修改此超時的值對成功的可能性沒有影響。基本上,在服務請求的第一秒內發生了一些事情,它永遠不會恢復,WCF不會奇蹟般地重試網絡rk連接爲你。很好,有時建立網絡連接並不好。但是,如果您的超時時間爲2小時,則必須等待2個小時,否則它將無法工作,然後它纔會最終確認它不起作用並且會出錯。「
我從上述說明中this thread這正是我遇到的問題
操作員每天做同樣的操作一千次和幾千次,有時他們會超時錯誤,即使他們可以快速執行相同的操作後沒有任何延遲,同時有人正在獲取超時,在與另一個客戶端實例在同一臺計算機上,他們可以進行調用並且速度很快!並且檢查服務器端的錯誤沒有記錄在服務實現中,存儲在數據庫中,所以e方法從來沒有被請求調用過,所以我在調用初始化過程中絕對考慮了一些錯誤,可能是身份驗證,標記化,壓縮或其他層次的錯誤,但是我找不到任何血腥的錯誤消息(也許啓用wcf跟蹤?)。
無論如何,事實是,我們得到了與傳統的ASP客戶端服務器請求一樣的傳統ASP編寫的舊軟件,並且這個問題從未發生,如果我們談論的是同一個互聯網連接,那麼我不得不思考?當出現一些錯誤時,Internet Explorer會讓事情變得神奇嗎? WCF得到了一些我可以設置的隱藏配置來改善這種行爲?我可以說的是,我試圖在WsHttpBinding中配置我們的wcf服務,並且這種超時接縫永遠不會發生,即使我們仍然收到一些錯誤,但即時連接立即釋放,即使連接相當與tcp連接相同,因爲默認情況下wshttpbinding被配置爲keepalive tcp頻道,但我仍然不明白爲什麼與tcp我得到這種超時。
如果有人能幫助我,我會非常感激!
謝謝!
「我們得到了寫在傳統的ASP與正常的HTTP客戶端 - 服務器請求的同舊的軟件」 ......不,你不知道。你可能有一個經典的ASP應用程序,它可以模擬相同的業務流程或不是什麼,但它不是同一個軟件。 ASP和.NET是擁有共同祖先IMO的兩種不同的鳥類。 – Tim
是的,我知道這是不同的軟件,但我的意思是說,通過http請求使用互聯網,沒有任何問題使用瀏覽器作爲互聯網瀏覽器 –