Web アプリまたは Windows サービスを実行し、他のサイトに Web 要求を行う場合、資格情報を次のように指定します。
var test = (HttpWebRequest)WebRequest.Create(uri);
test.Credentials = CredentialCache.DefaultNetworkCredentials;
これは、サイトが長時間 (数時間) 停止するまで機能します。サイトが利用可能になり、アクセスできるようになると、Windows サービスが再起動されるまで、接続試行ごとに次のエラーが生成されます。
System.Net.WebException: リモート サーバーがエラーを返しました: (503) サーバーを利用できません。
これを回避する最善の方法は何でしょうか? サイトの小規模な停止はいつでも発生する可能性があるため、対処が難しく、通常のビジネスを再開するには、サーバーにログインしてアプリケーションを自由に再起動できる必要があります。
編集:実際には、サービスを再起動するまで通常繰り返される例外は、通常は次のとおりですが、常にではありません。
リモート サーバーがエラーを返しました: (401) Unauthorized
申し訳ありません。