サーバーとの接続が失われたときに適切なエラー メッセージを表示したい。GET リクエスト中にブラウザの「接続が失われました」というメッセージが表示されますが、POST リクエストが行われて応答が表示されない場合、ページは適切に応答しません。ASP.netでページを開発しています
迅速な回答をお待ちしております。
前もって感謝します。
サーバーとの接続が失われたときに適切なエラー メッセージを表示したい。GET リクエスト中にブラウザの「接続が失われました」というメッセージが表示されますが、POST リクエストが行われて応答が表示されない場合、ページは適切に応答しません。ASP.netでページを開発しています
迅速な回答をお待ちしております。
前もって感謝します。
HTTP は接続するようには設計されておらず、ステートレスです。ASP.NET SingnalR が生まれる前は、すべてが単なる要求応答でした。GET や POST に関係なく、サーバーは常にクライアントに応答を送信する必要があります。
「失敗」の投稿も応答する必要がありますが、500 のようなステータス コードが返されます。この場合、ネットワーク接続が切断されたかどうかを検出する必要があるため、「失敗」は「タイムアウト」を意味します。
サーバー側からは制御できません。したがって、クライアント側でのみ実行できます。たとえば、JavaScript を使用して POST 要求を送信し、サーバーが 15 秒以内に応答しなかった場合は、「接続が失われました」と呼び、Web ページにメッセージを表示できます。
Facebookのチャットウィンドウはこの方法を使用しています。クライアントブラウザで実行されるjavascript関数があり、サーバーに「ping」を実行して、接続がOKかどうかを通知します。