.NET Compact Framework中带有POST参数的异步WebRequest
我正在尝试在.NET Compact Framework上执行异步HTTP(S)POST,但我似乎无法使其正常工作。
这就是我正在做的事情:
private void sendRequest(string url, string method, string postdata) { WebRequest rqst = HttpWebRequest.Create(url); CredentialCache creds = new CredentialCache(); creds.Add(new Uri(url), "Basic", new NetworkCredential(this.Uname, this.Pwd)); rqst.Credentials = creds; rqst.Method = method; if (!String.IsNullOrEmpty(postdata)) { rqst.ContentType = "application/xml"; byte[] byteData = UTF8Encoding.UTF8.GetBytes(postdata); rqst.ContentLength = byteData.Length; using (Stream postStream = rqst.GetRequestStream()) { postStream.Write(byteData, 0, byteData.Length); postStream.Close(); } } ((HttpWebRequest)rqst).KeepAlive = false; rqst.BeginGetResponse(DataLoadedCB, rqst); } private void DataLoadedCB(IAsyncResult result) { WebRequest rqst = ((WebRequest)(((BCRqst)result.AsyncState).rqst)); WebResponse rsps = rqst.EndGetResponse(result); /* ETC...*/ }
…但由于某种原因,我在DataLoadedCB的第二行得到一个WebException:
“此请求需要缓冲数据以进行身份validation或重定向才能成功。”
当我做一个简单的HTTP GET时,完全相同的代码完美地工作,但是当我抛出一些POST参数时,一切都失败了。
有任何想法吗?
我很开心! 我找到了问题的答案!!!
这条小线做了诀窍:
上述就是C#学习教程:.NET Compact Framework中带有POST参数的异步WebRequest分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
((HttpWebRequest)rqst).AllowWriteStreamBuffering = true;
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/998689.html