0

サーバーとの接続が失われたときに適切なエラー メッセージを表示したい。GET リクエスト中にブラウザの「接続が失われました」というメッセージが表示されますが、POST リクエストが行われて応答が表示されない場合、ページは適切に応答しません。ASP.netでページを開発しています

迅速な回答をお待ちしております。

前もって感謝します。

4

1 に答える 1

1

HTTP は接続するようには設計されておらず、ステートレスです。ASP.NET SingnalR が生まれる前は、すべてが単なる要求応答でした。GET や POST に関係なく、サーバーは常にクライアントに応答を送信する必要があります。

「失敗」の投稿も応答する必要がありますが、500 のようなステータス コードが返されます。この場合、ネットワーク接続が切断されたかどうかを検出する必要があるため、「失敗」は「タイムアウト」を意味します。

サーバー側からは制御できません。したがって、クライアント側でのみ実行できます。たとえば、JavaScript を使用して POST 要求を送信し、サーバーが 15 秒以内に応答しなかった場合は、「接続が失われました」と呼び、Web ページにメッセージを表示できます。

Facebookのチャットウィンドウはこの方法を使用しています。クライアントブラウザで実行されるjavascript関数があり、サーバーに「ping」を実行して、接続がOKかどうかを通知します。

于 2013-01-14T09:26:23.790 に答える