iis に展開されている社内アプリケーションの接続を監視/確認するように設計された Web サイトを作成する必要があります。これは、開発した社内 Web サイトへのリンクのリストのようなものです。問題は、ウェブサイトが稼働しているかどうかをどのように確認できるかということです。また、ウェブサイトがダウンしているかどうかを確認するにはどうすればよいですか? システムのリンクを表示し、ステータスに基づいて色を付けます。アップは緑、ダウンまたはエラーがある場合は赤です。アドバイスをお待ちしています。サンプルコードをいただければ幸いです。
3 に答える
これを行う最も簡単な方法は、Web サイトのリストに対して WebRequest を実行し、ステータス コードをチェックする Windows サービスまたはスケジュールされたタスクを実行することです。
ステータス コード 200 が返された場合は、緑色で表示されます。それ以外 (4xx、5xx、タイムアウト) は赤で表示されます。サービスに結果をデータベースに保存させ、そのデータベースから「赤/緑」ページを読み取らせます。
これは、一般的な万能のソリューションです。一部のサイトでは基本認証が使用されている可能性があるため、すべてのサイトで機能するとは限りません。この場合、モニターはサイトがダウンしていると誤って記録します。そのため、サイトに対してメタデータを保存し、基本認証 (またはその他のビジネス ロジック) を実行して、サイトが稼働しているか停止しているかを判断する必要があります。
そのサーバーから何かをロードするだけで、サイトが稼働している場合はロードされ、ロードされない場合は、エラーを生成するか、赤く表示されます
監視したい Web サイトにアクセスできる場合、最も簡単な方法は、サービスによってポーリングされるように設計された、監視したい Web サイトにステータス ページを配置することだと思います。このようにして、Web サイトが稼働している場合、ページのコンテンツを読み取ることで、より高度なステータス情報を取得できます。
http ステータスを確認したいだけなら、Web サイトの任意のページ (できれば小さなページ) にアクセスして、応答ステータス コードを確認します。
何かのようなもの
// prepare the web page we will be asking for
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(Url);
//if (AuthRequired())
// request.Credentials = new NetworkCredential(Username, Password);
// execute the request
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
次に、response.StatusCode を読み取ることができます。