В приложении ASP.Net мне нужно отправить некоторые данные (urlEncodedUserInput) через HTTP POST на внешний сервер в ответ на ввод пользователя, не задерживая ответ страницы. Не имеет значения, каков ответ от другого сервера, и мне все равно, если запрос иногда терпит неудачу. Кажется, это работает нормально (см. Ниже), но я обеспокоен тем, что он связывает ресурсы в фоновом режиме, ожидая ответа, который никогда не будет использован.
Вот код:
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 () для очистки или это может предотвратить отправку запроса по медленному соединению?