In einer ASP.Net-Anwendung muss ich einige Daten (URLEncodedUserInput) über HTTP POST an einen externen Server als Reaktion auf Benutzereingaben senden , ohne die Seitenantwort zu halten. Es spielt keine Rolle, was die Antwort vom anderen Server ist, und es ist mir egal, ob die Anfrage manchmal fehlschlägt. Dies scheint in Ordnung zu sein (siehe unten), aber ich bin besorgt, dass es Ressourcen im Hintergrund bindet und auf eine Antwort wartet, die niemals verwendet wird.So senden Sie HTTP-Anfrage in asp.net, ohne auf eine Antwort warten und ohne Ressourcen zu binden
Hier ist der Code:
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();
ziemlicher Standard, aber in der Regel an diesem Punkt würden Sie nennen httpRequest.getResponse() oder httpRequest.beginGetResponse(), wenn Sie die Antwort asynchron, aber das doesn erhalten wollte scheint in meinem Szenario nicht notwendig zu sein.
Mache ich das Richtige? Sollte ich httpRequest.Abort() aufrufen, um aufzuräumen, oder könnte dies verhindern, dass die Anfrage über eine langsame Verbindung gesendet wird?