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を使用しています。

問題は、ほとんどの場合コードが機能することですが、以前は「タイムアウト」エラーが発生していた時点で、上記のコードを使用しようとすると「内部サーバーエラー(500)」が発生します。この問題を解決する方法についての手がかりはありますか?コード例は非常に役立ちます。

ありがとう!

4

1 に答える 1

0

誤解されているかもしれませんが、Http 500 Interalサーバーエラーは、呼び出したURIをホストしているサーバーによって生成されています。コードは正しいかもしれませんが、サーバーはエラーを返しています。サーバースクリプトをデバッグするか(制御する場合)、コード内のhttp500エラーを処理する必要があります。

ブラウザから直接URIを呼び出して、http500内部サーバーエラーが発生するかどうかを確認する必要があります。その場合(そしてWebサーバーを制御している場合)、サーバーログで詳細を確認できます。

お役に立てれば。

于 2011-12-22T10:27:32.807 に答える