如何发送HTTP请求并执行';t处理响应
本文关键字:处理 响应 执行 何发送 HTTP 请求 | 更新日期: 2023-09-27 18:23:48
作为一项服务,我的服务器有时需要通知客户端他们的资源已准备好使用
为此,他们会给我一个URL作为回调,当资源准备好时,我会向他们的回调URL发送HTTP请求。
启动HTTP请求而不处理响应的最佳方式是什么?
var wc = new WebClient();
wc.DownloadStringAsync(new Uri(url));
例如,在这段代码中,尽管我完全忽略了响应,但一旦准备好,服务器仍然会调用一个线程来下载他们的响应(我毫不在乎…)。
我建议您寻找一个id为Microsoft.Net.Http的包,并使用该库中更现代的HttpClient。那么,这只是一个是否"等待"回应的问题。如果你不等待,那么基本上就是开火并忘记,你就达到了想要的行为:
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class HttpHelper
{
public static async Task WaitForResponse()
{
using (var client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(new Uri("http://google.com"));
}
}
public static async Task FireAndForget()
{
using (var client = new HttpClient())
{
client.GetAsync(new Uri("http://google.com"));
}
}
}
}