How to post JSON to a server using C#?

后端 未结 13 1799
臣服心动
臣服心动 2020-11-22 05:55

Here\'s the code I\'m using:

// create a request
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(url); request.KeepAlive = false;
request.Protoco         


        
13条回答
  •  一个人的身影
    2020-11-22 06:23

    If you need to call is asynchronously then use

    var request = HttpWebRequest.Create("http://www.maplegraphservices.com/tokkri/webservices/updateProfile.php?oldEmailID=" + App.currentUser.email) 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(edit).ToString();
    
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    
    
            postStream.Write(byteArray, 0, byteArray.Length);
            postStream.Close();
    
            //Start the web request
            request.BeginGetResponse(new AsyncCallback(GetResponceStreamCallback), request);
        }
    
        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();
                stat.Text = result;
            }
    
        }
    

提交回复
热议问题