http-post-request gesendet von android auf ashx in asp.net. kann keine Daten empfangen

Ich bin das senden von Daten von android auf eine Generische Prozedur .ashx-Seite in asp.net Verwendung von http post. Aber die hf ist nicht in der Lage, Daten zu erhalten. Das Ding funktioniert mit httpGet aber nicht mit httppost

Den android-code

package com.postApp;
/*
 * HTTP POST and BasicNameValuePair
 * */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class postAct extends Activity {
    /** Called when the activity is first created. */

    class login{
        public
        String uname;
        public String pass;

    }

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


            login l=new login();


        HttpClient client1 = new DefaultHttpClient();
        HttpPost request = new HttpPost("http://10.0.2.2:18089/POC_login/Handler.ashx");      


       l.uname="piyush";
       l.pass="gupta";
              List<NameValuePair> postParameters = new ArrayList<NameValuePair>(3);
            postParameters.add(new BasicNameValuePair("uname", l.uname));
            postParameters.add(new BasicNameValuePair("pass", l.pass));
       try {
            request.setEntity(new UrlEncodedFormEntity(postParameters));
            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
            request.setEntity(formEntity);

          HttpResponse response;
          response = client1.execute(request);

         BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
         String line;
         String page="";
         line = in.readLine();
         while(line!=null)
         {
             page=page+line;
             line=in.readLine();
         }
         TextView tv = (TextView) findViewById(R.id.textview);
         tv.setText(page);
         in.close();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }                    
    }


}   

Die ashx-code

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Linq;

public class Handler : IHttpHandler {

    public void ProcessRequest (HttpContext context) 
    {
        context.Request.ContentType = "text/plain";
       //context.Request.ContentType = "text/html";


        string username=context.Request.QueryString["uname"];
        string password = context.Request.QueryString["pass"];
        context.Response.Write("Hello Piyush");

        NorthwindDataContext db = new NorthwindDataContext();
        var found = (from p in db.Catergories
                    where p.cat_ID == 1
                    select p.cat_name).SingleOrDefault();

    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

Bitte Um Hilfe!!

Sie bekommen eine Fehlermeldung? Was ist der return status code? Ich würde empfehlen, hinzufügen von ein paar debug-Anweisungen, um den code, um herauszufinden, was Los ist.
Danke für deine Frage, ich werde lernen, wie man mit post-Anfrage im web, Ist es für Sie gearbeitet, unter diesem code? context.Request.QueryString["supplier_name"]; Ich geändert context.Request.Form["supplier_name"];

InformationsquelleAutor asloob | 2011-02-04

Schreibe einen Kommentar