C# HTTP JSON

没玩过C#,现在需要搞一个pc端的简单应用,链接到云端。在友人的帮助下参看http://blog.csdn.net/huwei2003/article/details/47277457 WebAPI文章,虽然不是我想要的,但是文章中提到

在MVC中大家都知道,获取Request和Response使用HttpRequest和HttpResponse两个类,在WebAPI中使用另外两个类:

HttpRequestMessage 和HttpResponseMessage,分别用于封装Requset和Response。

关键字:HttpRequest和HttpResponse,所以有了如下代码测试:

接受到的数据,需要通过JSON序列化为结构:

    public class objdata {
        public string paramMemberId{get;set;}
        public string resultMemberId { get; set; }
    }
    
    public class JsonClass
    {
        public int status { get; set; }
        public string msg { get; set; }
        public objdata data { get; set; }
        
    }

测试通过点击按键,执行

 public string myWebRequest( string url, string postData)
        {
            HttpWebRequest webRequest = null;
            StreamWriter requestWriter = null;
            string responseData = "";
            webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest;
            //webRequest.Method = method.ToString();
            webRequest.ServicePoint.Expect100Continue = false;


            webRequest.KeepAlive = false;
            webRequest.ProtocolVersion = HttpVersion.Version10;


            webRequest.ContentType = "application/json";
                    webRequest.Method = "POST";
                //POST the data.
                requestWriter = new StreamWriter(webRequest.GetRequestStream());
                try
                {
                    requestWriter.Write(postData);
                }
                catch
                {
                    throw;
                }
                finally
                {
                    requestWriter.Close();
                    requestWriter = null;
                }
            
            responseData = myWebResponseGet(webRequest);
            webRequest = null;


            var serializer = new JavaScriptSerializer();
           // var serializedResult = serializer.Serialize(responseData);


            JsonClass list = serializer.Deserialize<JsonClass>(responseData);
            string result = list.msg;


            return responseData;
        }
        public string myWebResponseGet(HttpWebRequest webRequest)
        {
            StreamReader responseReader = null;
            string responseData = "";
            try
            {
                responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
                responseData = responseReader.ReadToEnd();
            }
            catch
            {
                throw;
            }
            finally
            {
                webRequest.GetResponse().GetResponseStream().Close();
                responseReader.Close();
                responseReader = null;
            }
            return responseData;
        }

此处引用的文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;


using System.Net;
using System.IO;
using System.Web;


using System.Web.Script;
using System.Web.Script.Serialization;
以及添加引用



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值