【发布时间】:2014-03-22 01:03:09
【问题描述】:
在我的 Xamarin 应用程序中,我使用 HttpWebRequest 类将 POST 消息发送到服务器(我使用它是因为它在 PCL 库中开箱即用)。
这是一些请求准备代码:
request.BeginGetRequestStream (asyncResult => {
Mvx.Trace ("BeginGetRequestStream callback");
request = (HttpWebRequest)asyncResult.AsyncState;
Stream postStream = request.EndGetRequestStream (asyncResult);
string postData = jsonConverter.SerializeObject (objectToSend);
Mvx.Trace ("Posting following JSON: {0}", postData);
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
postStream.Write (byteArray, 0, byteArray.Length);
MakeRequest (request, timeoutMilliseconds, successAction, errorAction);
}, request);
当我启动应用程序并第一次和第二次执行此代码时,一切正常。但是,当这是第 3 次执行时(完全正确!),不会调用回调,并且永远不会将“BeginGetRequestStream 回调”行打印到日志中。这是类实现中的错误还是我做错了什么?
如果无法使其在 Xamarin 中工作,请推荐可靠且方便的类,用于发送超时的 Http GET 和 POST 请求。
还创建了相关的更一般的问题:Sending Http requests from Xamarin Portable Class Library
【问题讨论】:
标签: c# post httpwebrequest xamarin mvvmcross