C# Async-Webrequest

Muss ich anrufen eine url wie die folgende, die programmatisch mit C#:

http://mysite.com/AdjustSound.php

Diese php-Datei erwartet eine SoundLevel von mir. Also, ein Beispiel-Aufruf wäre etwas wie:

http://mysite.com/AdjustSound.php?SoundLevel=30

Ich habe 2 Fragen:

1:

WebRequest request = 
   WebRequest.Create("http://mysite.com/AdjustSound.php?SoundLevel=30");
//Which one?
//request.Method = "GET";
//request.Method = "POST";

Frage 1: brauche ich, um eine GET oder POST Anfrage?

2:

Da, ich mache das http-Aufruf sehr Häufig (10-20 mal in einer sec); ich habe einige speed Probleme. Also, ich will nicht, dass mein Programm zu warten, bis dieser http-Aufruf beendet und ruft das Ergebnis. Ich will, dass Webrequest asynchron laufen soll.

Das andere Problem ist, dass ich brauche nicht zu sehen, die Ergebnisse dieser http-Aufruf. Ich möchte nur zum aufrufen der server-Seite. Und auch ich kümmern sich nicht, wenn dieser Aufruf erfolgreich beendet wird oder nicht... (Wenn es nicht, wahrscheinlich werde ich den Klang einstellen, ein paar Millisekunden später. So, I don ' T care.) Ich schrieb den folgenden code:

WebRequest request = 
     WebRequest.Create("http://mysite.com/AdjustSound.php?SoundLevel=30");
request.Method = "GET";
request.BeginGetResponse(null, null);

Frage 2 : Tust es scheinen Sie ok, um diesen code ausführen? Ist das ok zum aufrufen request.BeginGetResponse(null, null); ?

BEARBEITEN

Nach dem Lesen der Kommentare; ich meine modifizierten code wie den folgenden:

WebClient webClient = new WebClient();
Uri temp = new Uri("http://mysite.com/AdjustSound.php?SoundLevel=30");
webClient.UploadStringAsync(temp, "GET", "");

Ist, dass ok/besser?

Es sei denn, Sie benennen einen Grund für die Verwendung von HttpWebRequest, empfehle ich Ihnen WebClient (<=.NET4.0) oder HttpClient (>=.NET4.5).
GET oder POST, hängt von der PHP-Skript. Wenn Sie können, öffnen Sie die URL in Ihren web-browser, ohne ein Formular abgeschickt, es ist ein GET.
Es ist nicht ok zu rufen request.BeginGetResponse(null, null);. Rufen Sie EndGetResponse. Besser: WebClient oder HttpClient. Vergessen Sie nicht, entsorgen Sie die Objekte.
I'm making this http-call very frequently (10-20 times in a sec) - sind Sie sicher, dass HTTP ist der richtige Weg, dies zu tun? Ist der HTTP-server lokal?
Können Sie einige grundlegende code-Beispiele mit WebClient oder HttpClient für meinen Fall?

InformationsquelleAutor Sait | 2012-06-18

Schreibe einen Kommentar