2011-12-22 94 views
1
XDocument xDoc = new XDocument(); 
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri); 
    req.Timeout = 1000 * 60 * 5; 
    WebResponse res = req.GetResponse(); 
    Stream responseStream = res.GetResponseStream(); 
    xDoc = XDocument.Load(responseStream); 
    responseStream.Close(); 

我正嘗試使用上面的代碼將uri加載到xdocument中。我正在使用HttpWebRequest和WebResponse來避免超時錯誤。嘗試將內容加載到xdocument時發生內部服務器錯誤

現在的問題是,大部分時間代碼的工作,但在我得到一個「超時」錯誤之前,現在我面臨一個「內部服務器錯誤(500)」,當試圖使用以上代碼。任何線索如何解決這個問題?代碼示例會有很大的幫助。

謝謝!

+1

事件日誌中是否有任何條目? – ChrisBint 2011-12-22 09:57:13

+3

正在拋出一個異常,很可能是'GetResponse()'。你需要找出什麼是例外。哦,你還應該爲'WebResponse'和響應流使用'using'語句。 – 2011-12-22 09:57:45

+0

@JonSkeet ...確實錯誤是由GetResponse() – Navyseal 2011-12-22 10:10:59

回答

0

我可能會誤解,但承載您調用的uri的服務器正在生成Http 500 Interal服務器錯誤。您的代碼可能是正確的,但服務器返回錯誤。您需要調試服務器腳本(如果您控制它)或者在您的代碼中處理http 500錯誤。

您應該直接從瀏覽器調用uri來查看是否會觸發http 500內部服務器錯誤。如果是這樣(並且您控制了Web服務器),則可以檢查服務器日誌以獲取更多詳細信息。

希望這會有所幫助。

相關問題