如何发送HTTP请求而不处理响应

时间:2014-09-22 09:26:23

标签: c# asp.net .net asp.net-web-api .net-4.5

作为一项服务,我的服务器有时需要通知客户其资源已准备就绪 为此,他们给我一个URL作为回调,当资源准备就绪时,我发送一个HTTP请求到他们的回调URL。

发起HTTP请求并且不处理响应的最佳方法是什么?

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

例如,在这段代码中,虽然我完全忽略了响应,但是一旦准备就绪,服务器仍然会调用一个线程来下载他们的响应(我不会小心......)。 p>

1 个答案:

答案 0 :(得分:0)

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

}