如何发送HTTP请求并执行';t处理响应

本文关键字:处理 响应 执行 何发送 HTTP 请求 | 更新日期: 2023-09-27 18:23:48

作为一项服务,我的服务器有时需要通知客户端他们的资源已准备好使用
为此,他们会给我一个URL作为回调,当资源准备好时,我会向他们的回调URL发送HTTP请求。

启动HTTP请求而不处理响应的最佳方式是什么?

var wc = new WebClient();
wc.DownloadStringAsync(new Uri(url));

例如,在这段代码中,尽管我完全忽略了响应,但一旦准备好,服务器仍然会调用一个线程来下载他们的响应(我毫不在乎…)。

如何发送HTTP请求并执行';t处理响应

我建议您寻找一个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"));
        }
    }
}

}