2014-09-22 349 views
3

作爲服務,我的服務器有時需要通知客戶端其資源已準備好使用。
爲了實現這一點,他們給我一個URL作爲回調,當資源準備好時,我發送一個HTTP請求到他們的回調URL。如何發送HTTP請求並且不處理響應

發起HTTP請求並不處理響應的最佳方式是什麼?

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

在此代碼例如,雖然我忽略響應完全,服務器將仍然調用線程下載他們的反應(這是我一點也不在乎......)一旦它準備好了。

+0

既然你已經這樣做了,有什麼用,你有什麼問題嗎? – krisdyson 2014-09-22 09:49:22

回答

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")); 
     } 
    } 
} 

}

+1

這相當於我已經有的代碼。即使你不「等待」響應,它仍在處理中。對不起,但它根本不回答我的問題。 – gdoron 2014-09-22 10:56:37