ASP.Net アプリケーションでは、ページの応答を保持することなく、ユーザー入力に応答して http POST 経由で外部サーバーにデータ (urlEncodedUserInput) を送信する必要があります。他のサーバーからの応答が何であるかは問題ではなく、要求が時々失敗するかどうかは気にしません。これは正常に動作しているように見えますが (以下を参照)、決して使用されない応答を待っているバックグラウンドでリソースを拘束しているのではないかと懸念しています。
コードは次のとおりです。
httpRequest = WebRequest.Create(externalServerUrl);
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
bytedata = Encoding.UTF8.GetBytes(urlEncodedUserInput);
httpRequest.ContentLength = bytedata.Length;
requestStream = httpRequest.GetRequestStream();
requestStream.Write(bytedata, 0, bytedata.Length);
requestStream.Close();
かなり標準的なものですが、通常、この時点で、応答を非同期で受信したい場合は httpRequest.getResponse() または httpRequest.beginGetResponse() を呼び出しますが、これは私のシナリオでは必要ないようです。
私は正しいことをしていますか?httpRequest.Abort() を呼び出してクリーンアップする必要がありますか、またはこれにより、低速の接続でリクエストが送信されるのを防ぐことができますか?