我已經構建了一個簡單的Web服務,它只是簡單地使用HttpListener來接收和發送請求。有時,服務會因「指定的網絡名稱不再可用」而失敗。當我寫入HttpListenerResponse的輸出緩衝區時,它似乎被拋出。Httplistener中的「指定的網絡名稱不再可用」
以下是錯誤:
ListenerCallback() Error: The specified network name is no longer available at System.Net.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 size)
這裏是代碼的有罪部分。 responseString是數據被髮送回客戶端:
buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
response.ContentLength64 = buffer.Length;
output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
它似乎並不永遠是一個巨大的緩衝區,兩個例子是3,816字節,字節142619,這些錯誤被拋出相隔約30秒。我不認爲我的單個客戶端應用程序會超載HTTPlistener;客戶端偶爾會以突發方式發送/接收數據,並且多個交換機依次發生。
大多數谷歌搜索顯示,這是一個常見的IT問題,當存在網絡問題時,會顯示此錯誤 - 大多數幫助針對的是系統管理員診斷應用程序問題,而不是開發人員追蹤錯誤。我的應用已經在不同的機器,網絡等上進行過測試,我不認爲這只是一個網絡配置問題。
什麼可能是這個問題的原因?
你有任何可以發佈的代碼嗎?減少顯示錯誤的東西會非常有幫助。 – 2009-01-09 21:18:41