我是C#的新手,所以我想知道是否有人可以帮助我。我正在尝试将HttpPost从Windows Phone 8发送到服务器。我找到了两个我想结合的例子。

第一个是发送Http Post(http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetrequeststream.aspx)的示例。这个问题是Windows Phone 8不支持它。

第二个示例使用BeginGetResponse(http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.net.httpwebrequest(v=vs.105).aspx)。这支持Windows Phone 8。

与第一个示例一样,我需要将第二个示例转换为BeginGetRequestStream()。我会尝试自己解决这个问题,但是如果有人已经知道如何执行此操作,我会在网上发布。我确信这将对其他WP8开发人员有所帮助。

更新
我现在正试图从服务器获得响应。我已经提出了一个新问题。请点击此链接(Http Post Get Response Error for Windows Phone 8)

最佳答案

目前,我还在Windows Phone 8项目上工作,这是我发布到服务器上的方法。 Windows Phone 8对全部.NET功能的访问受限,我读过的大多数指南都说您需要使用所有功能的异步版本。

// server to POST to
string url = "myserver.com/path/to/my/post";

// HTTP web request
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "text/plain; charset=utf-8";
httpWebRequest.Method = "POST";

// Write the request Asynchronously
using (var stream = await Task.Factory.FromAsync<Stream>(httpWebRequest.BeginGetRequestStream,
                                                         httpWebRequest.EndGetRequestStream, null))
{
   //create some json string
   string json = "{ \"my\" : \"json\" }";

   // convert json to byte array
   byte[] jsonAsBytes = Encoding.UTF8.GetBytes(json);

   // Write the bytes to the stream
   await stream.WriteAsync(jsonAsBytes, 0, jsonAsBytes.Length);
}

关于c# - Windows Phone 8的Http Post,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14698879/

10-14 12:41