我想在这里发出获取请求的代码是我放置的代码:
public string Get(string uri)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
using(HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using(Stream stream = response.GetResponseStream())
using(StreamReader reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
但是问题是它将冻结UI,并且我找到了此代码:
public async Task<string> GetAsync(string uri)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
using(HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
using(Stream stream = response.GetResponseStream())
using(StreamReader reader = new StreamReader(stream))
{
return await reader.ReadToEndAsync();
}
}
但是我不擅长多任务处理
anyhelp如何使用此功能tnx
我不知道您想做什么,但是您可以尝试删除使用方法,因为您只需要在导入部分中添加使用方法,然后尝试更像这样使用您的方法:
公共类HttpHandler{
static HttpClient client = new HttpClient();
public async Task<string> Get(string apiURL)
{
HttpResponseMessage response = await client.GetAsync(apiURL);
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
return await reader.ReadToEndAsync();
}
}