[C#]Http异步请求

在WinForm设计中,如果直接使用Http请求会导致UI等待Http请求返回而出现界面假死现象。

所以我们可以使用异步的Http请求来解决这个问题。


1.    设置请求类型并发送请求的方法HttpPost:

    public static void HttpPost(string Url)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
 
                request.Method = "POST";//这里是POST请求,可以改成GET
                request.ContentType = "application/x-www-form-urlencoded";
                request.BeginGetResponse(new AsyncCallback(Compleate), request);
            }
            catch
            {
                MessageBox.Show("请求失败.");
            }
        }

2.异步接收返回结果的方法Compleate:

        public static void Compleate(IAsyncResult asyncResult)
        {
            try
            {
                HttpWebRequest req = (asyncResult.AsyncState as HttpWebRequest);
                HttpWebResponse res = req.EndGetResponse(asyncResult) as HttpWebResponse;
                StreamReader reader = new StreamReader(res.GetResponseStream());

                MessageBox.Show(reader.ReadToEnd());
            }
            catch
            {
                MessageBox.Show("获取失败.");
            }
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值