none
HttpWebRequest.GetResponse wird nicht gefunden? RRS feed

  • Frage

  • Ich möchte in meiner App mithilfe eines PHP-Post Requests Daten auslesen. Hierzu benutze ich derzeit noch diesen Code:

    HttpWebRequest reqKlasse = (HttpWebRequest)HttpWebRequest.Create("http://www.seite.at");
    reqKlasse.Method = "POST";
    HttpWebResponse response = reqKlasse.GetResponse();
    

    Die Methode GetResponse() wird allerdings nicht gefunden. Laut Visual Studio enthält System.Net.HttpWebRequest keine Definition für GetResponse.

    Meine Using-Direktiven sind wie folgt:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    using Phone.Controls;
    using Microsoft.Unsupported;
    
    Kann mir jemand sagen, was mir fehlt??

    Montag, 30. Mai 2011 09:00

Antworten

  • Hi,

    in Silverlight 3 und somit auch im Windows Phone 7 gibt es keine synchrone Aufrufe auf Netzwerkebene. Hier muss alles Asynchron laufen um den laufenden Betrieb und die Anwendung nicht einfrieren zu lassen.

    Unter Windows Phone 7 verwendet man also HttpWebRequest.BeginGetResponse und HttpWebRequest.EndGetResponse.

    Hier findest du eine Implementation mit der man auch unter Windows Phone 7 synchrone Aufrufe durchführen kann, ob man damit aber durch das Review kommt weiß ich nicht (empfehlen würde ich das nicht!).


    Gruß Rudolf

    "Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw

    • Bearbeitet Rudolf Grauberger Montag, 30. Mai 2011 10:03 Zeilenumbruch zur besseren Lesbarkeit
    • Als Antwort vorgeschlagen Oliver Michalski Montag, 30. Mai 2011 10:55
    • Als Antwort markiert Praschi Montag, 30. Mai 2011 14:06
    Montag, 30. Mai 2011 10:02

Alle Antworten

  • Hallo Praschi,

    er findet es nicht oder wird es Dir "nur" rot als fehlerhaft markiert? Siehe MSDN HttpWebResponse =>

    private void Test()
        {
          HttpWebRequest reqKlasse = (HttpWebRequest)WebRequest.Create("http://www.seite.at");
          reqKlasse.Method = "POST";
          HttpWebResponse response = (HttpWebResponse)reqKlasse.GetResponse();
          response.Close();
        }
    

    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    Montag, 30. Mai 2011 09:33
  • Hi,

    in Silverlight 3 und somit auch im Windows Phone 7 gibt es keine synchrone Aufrufe auf Netzwerkebene. Hier muss alles Asynchron laufen um den laufenden Betrieb und die Anwendung nicht einfrieren zu lassen.

    Unter Windows Phone 7 verwendet man also HttpWebRequest.BeginGetResponse und HttpWebRequest.EndGetResponse.

    Hier findest du eine Implementation mit der man auch unter Windows Phone 7 synchrone Aufrufe durchführen kann, ob man damit aber durch das Review kommt weiß ich nicht (empfehlen würde ich das nicht!).


    Gruß Rudolf

    "Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw

    • Bearbeitet Rudolf Grauberger Montag, 30. Mai 2011 10:03 Zeilenumbruch zur besseren Lesbarkeit
    • Als Antwort vorgeschlagen Oliver Michalski Montag, 30. Mai 2011 10:55
    • Als Antwort markiert Praschi Montag, 30. Mai 2011 14:06
    Montag, 30. Mai 2011 10:02
  • Danke für die Hilfe. Ich werde mich jetzt näher mit dem asynchronen Aufruf auseinandersetzen. 
    Montag, 30. Mai 2011 14:06
  • Hallo Praschi,

    Habe für Dich ein Beispiel wo ich BeginGetResponse in einem WebRequest verwende, herausgesucht. Vielleicht kann es Dir weiterhelfen.

    http://social.msdn.microsoft.com/Forums/de-DE/wp7de/thread/0e9d1a0d-cfc7-4b32-bf48-3b8293f53639#4af74899-c416-4280-8c2b-a9641179fd00

    Grüße,

    Robert

    Dienstag, 31. Mai 2011 16:06