2011-12-22 80 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服务器),则可以检查服务器日志以获取更多详细信息。

希望这会有所帮助。

相关问题