Xamarin Forms PCL - 用于网络请求的干净简单的方法?
Xamarin Forms PCL - clean and easy way for a webrequest?
我正在使用便携式 class 库构建 Android/iOS xamarin 表单应用程序。我正在寻找在 PCL 项目中执行此示例的最佳方法:
https://msdn.microsoft.com/en-us/library/456dfw4f(v=vs.110).aspx
using System;
using System.IO;
using System.Net;
using System.Text;
namespace Examples.System.Net
{
public class WebRequestGetExample
{
public static void Main ()
{
// Create a request for the URL.
WebRequest request = WebRequest.Create (
"http://www.contoso.com/default.html");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
WebResponse response = request.GetResponse ();
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
//do something with the response string
// Clean up the streams and the response.
reader.Close ();
response.Close ();
}
}
}
只需使用此 NuGet 包即可 https://www.nuget.org/packages/Microsoft.Net.Http
PCL http 请求在其中实现并且支持异步。
编辑
来自 Hansleman 网站的样品 produly stollen。
public static async Task<HttpResponseMessage> GetTheGoodStuff()
{
var httpClient = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://hanselman.com/blog/");
var response = await httpClient.SendAsync(request);
return response;
}
Flurl.Http(免责声明:我是作者)是与 Xamarin 兼容的 PCL,它使这类事情变得非常简单:
string s = await "http://www.contoso.com/default.html".GetStringAsync();
在 NuGet 上获取它。
我正在使用便携式 class 库构建 Android/iOS xamarin 表单应用程序。我正在寻找在 PCL 项目中执行此示例的最佳方法:
https://msdn.microsoft.com/en-us/library/456dfw4f(v=vs.110).aspx
using System;
using System.IO;
using System.Net;
using System.Text;
namespace Examples.System.Net
{
public class WebRequestGetExample
{
public static void Main ()
{
// Create a request for the URL.
WebRequest request = WebRequest.Create (
"http://www.contoso.com/default.html");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
WebResponse response = request.GetResponse ();
// Display the status.
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
//do something with the response string
// Clean up the streams and the response.
reader.Close ();
response.Close ();
}
}
}
只需使用此 NuGet 包即可 https://www.nuget.org/packages/Microsoft.Net.Http PCL http 请求在其中实现并且支持异步。
编辑 来自 Hansleman 网站的样品 produly stollen。
public static async Task<HttpResponseMessage> GetTheGoodStuff()
{
var httpClient = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://hanselman.com/blog/");
var response = await httpClient.SendAsync(request);
return response;
}
Flurl.Http(免责声明:我是作者)是与 Xamarin 兼容的 PCL,它使这类事情变得非常简单:
string s = await "http://www.contoso.com/default.html".GetStringAsync();
在 NuGet 上获取它。