在wp7中发布请求

时间:2012-05-07 07:59:23

标签: c# windows-phone-7

我想审查一笔交易。所以我想发布一个请求。有人可以帮我发布带有6个参数的请求

网络服务是:http://www.xxxxxx.in/rest/rate

参数包括:userName,email,rating,comment,dealId,key,mobile no

3 个答案:

答案 0 :(得分:1)

RestSharp库为您提供了一种简单的方法来执行休息请求...而且他们的首页也有很多示例!

答案 1 :(得分:0)

我会尝试这样的事情:

void Post()
{
     WebClient client = new WebClient(); 
     client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted); 
     client.Headers["Content-Type"] = "application/x-www-form-urlencoded"; 
     client.Encoding = Encoding.UTF8; 

     client.UploadStringAsync(new Uri("http://www.example.com/api/path/"), "POST", "userName=userName&email=email&rating=rating&comment=comment&dealid=dealid&key=key&mobileno=mobileno"); 
} 

void client_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e) 
{ 
     MessageBox.Show(e.Result); 
} 

答案 2 :(得分:0)

有例子:

string uri = "http://www.xxxxxx.in/rest/rate";

//data to post
string data = "userName={0}&email={1}&rating={2}&comment={3}&dealId={4}&key={5}&mobile={6}";
//fill data
data.Format(userName, email, ratings, comment, dealId, key, mobile);
//encode
byte[] byteArray = Encoding.UTF8.GetBytes (data);
//create request
HttpWebRequest request = WebRequest.Create(uri);
//set method
request.Method = "POST";
//set data length
request.ContentLength = byteArray.Length;
request.ContentType = "application/x-www-form-urlencoded";
//get stream and write into
Stream dataStream = request.GetRequestStream ();
dataStream.Write (byteArray, 0, byteArray.Length);

//do request    
IAsyncResult asyncResult = request.BeginGetResponse(p =>
{
    WebResponse response = request.EndGetResponse(p);
    //call callback when get response
    if (callback != null)
        callback(response.GetResponseStream());
}, null);

您需要设置回调委托Action<Stream> callback