2014-04-11 16 views
5

Ich habe diesen Code, in dem ich versuche, eine Verbindung zu einem PHP-Basis-API-Server für eine Windows8-Anwendung herzustellen.Wie auch immer ich bekomme kein Ergebnis zu wissen, wenn ich versuche, es zu debuggen Die URL ist korrekt und die Variablen sind gesetzt. : Ich bin in windows8 App und C#, und nach mehreren Untersuchungen ist es das, was den Anschluss an ein api-Server wie sah Jede Hilfe bitteWie man eine Windows8 app C# mit php api verbindet


private void Button_Click(object sender, RoutedEventArgs e) 
     { 

      var username="lucy"; 
      var password="lucy"; 

      var request = HttpWebRequest.Create("http://myURL/login.php?username="+username+"&password="+password) as HttpWebRequest; 
      request.Method = "POST"; 
      request.ContentType = "text/json"; 
      request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), request); 
     } 
private void GetRequestStreamCallback(IAsyncResult asynchronousResult) 
    { 
     HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; 
     // End the stream request operation 

     Stream postStream = request.EndGetRequestStream(asynchronousResult); 


     // Create the post data 
     string postData = JsonConvert.SerializeObject(postStream).ToString(); 
     MessageDialog msgDialog1 = new MessageDialog(postData, "bayyanit"); 
     msgDialog1.ShowAsync(); 

     Debug.WriteLine(postData); 
     byte[] byteArray = Encoding.UTF8.GetBytes(postData); 


     postStream.Write(byteArray, 0, byteArray.Length); 
     // postStream.Close(); 

     //Start the web request 
     try 
     { 
      request.BeginGetResponse(new AsyncCallback(GetResponceStreamCallback), request); 
     } 
    catch(Exception ex) 
     { 
      MessageDialog msgDialog = new MessageDialog(ex.ToString(), "bayyanit"); 
      msgDialog.ShowAsync(); 
     } 
    } 

    void GetResponceStreamCallback(IAsyncResult callbackResult) 
    { 
     HttpWebRequest request = (HttpWebRequest)callbackResult.AsyncState; 
     HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(callbackResult); 
     using (StreamReader httpWebStreamReader = new StreamReader(response.GetResponseStream())) 
     { 
      string result = httpWebStreamReader.ReadToEnd(); 
      MessageDialog msgDialog = new MessageDialog(result, "bayyanit"); 
      msgDialog.ShowAsync(); 
     } 

    } 
+0

Apis sind sprachunabhängig. Während Sie eine API aufrufen, lesen Sie die Antwort entweder in JSON oder XML oder einem anderen Format, unabhängig davon, welche Sprache für die Codierung verwendet wird. – Guns

+1

@Guns ich bin neu in windows8 apps, schaue durch meinen code ich erwarte eine antwort im json format vom server.was fehlt mir? –

+0

Erstens, haben Sie überprüft, ob Ihre API im angegebenen Format gut reagiert? – Guns

Antwort

0

Sie können die API mit PHP in einem einzigen bauen Seite, die Informationen über GET oder POST empfängt und JSON-Objekt oder XML zurückgibt (siehe php.net für die Funktionen, die Sie wollen), was immer Sie bevorzugen.

danach können Sie es mit Ihrer Anwendung über einfache HTTP-Anfrage verwenden.

+0

Ich habe dies versucht, aber ich brauche etwas konkreter in Bezug auf meine Situation –

Verwandte Themen