2013-03-05 40 views
1

我有一個問題困擾着我很長一段時間。WebExcpetion usind WebRequest.BeginGetResponse

我正在使用Windows Phone 8和c#。

不時我得到這個錯誤時拋出,而從網上下載文件:

A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.ni.dll 
A first chance exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll 
A first chance exception of type 'System.Net.WebException' occurred in System.Windows.ni.dll 
ExceptionMessage:The remote server returned an error: NotFound. 

但後來我再次運行PROGRAMM並能正常工作。我不知道爲什麼有時候找不到遠程服務器,服務器真的存在問題嗎? 它認爲它在我的代碼什麼的,我使用這些功能:

WebRequest request = WebRequest.Create("http...); 
IAsyncResult res = request.BeginGetResponse(new AsyncCallback(DownloadComplete), null); 

我會爲任何建議感激,因爲這樣的例外不斷彈出,我沒能解決它。

回答

1

它並不是說它找不到遠程服務器,而是服務器不願意找到所請求的文件,因爲該服務器當時並不存在於該遠程服務器當時。很難知道你確切的情況,但是拋開網絡問題,它可能是該文件不存在,在那個時間點

這個文件多久更新一次?考慮一下在您請求文件時它已被刪除並暫時被重寫的可能性。

網絡本身並不可靠,只能看起來可靠;這裏有很多技巧,但我要說的是,在你的情況下,可能會更糟糕的一些'恢復'邏輯再次嘗試一段時間後失敗。

只是一種可能性。

+0

謝謝你的回答。我已經安裝了一些邏輯,如果第一次失敗,它會重試下載。但是,當這些例外不是真的是我的錯,我該如何隱藏它們?有什麼辦法可以阻止它們顯示在我的調試器窗口中? – user2078645 2013-03-05 16:02:53

0

當我忘記手機在模擬器中運行並將Web引用更改爲localhost時,我得到此信息。然後Localhost將在電話本身上被解釋,顯然這個Web服務沒有在電話上運行。如果您正在進行本地調試,請確保使用您計算機的IP地址,而不是本地主機或127.0.0.1。

相關問題