2016-01-15 226 views
0

我將使用這個。 http://www.matlus.com/httpwebrequest-asynchronous-programming/Web請求異步完成

但是我怎樣才能知道請求已完成?那麼我怎麼知道所做的工作?

我用喜歡它:

PostAsync(url, postParameters, callbackState => 
{ 
    if (callbackState.Exception != null) 
    { 
     throw callbackState.Exception; 
    } 
    else 
    { 
     WriteCallBack(GetResponseText(callbackState.ResponseStream)); 
    } 
}); 

但我不知道是否結束處理?

+0

在「if」行上放置一個斷點並逐步完成。 –

+0

我想要一些消息框,如果過程完成。我不知道什麼時候會結束, – caras

回答

2

在本文檔中,它說:

所有這些方法還需要叫回與HTTP調用的響應回調委託[...]回調將被調用爲每個響應,如,當接收到響應,我們只是繼續與處理響應,因爲我們認爲合適的

不管你用callbackState代表做,這將持有響應內容。這就是你知道它會被完成的方式。

編輯:來自文檔的示例。

 ServicePointManager.DefaultConnectionLimit = 50; 
     var url = "http://localhost/HttpTaskServer/default.aspx"; 

     var iterations = 1000; 
     for (int i = 0; i < iterations; i++) 
     { 
     var postParameters = new NameValueCollection(); 
     postParameters.Add("data", i.ToString()); 
     HttpSocket.PostAsync(url, postParameters, callbackState => 
      { 
      if (callbackState.Exception != null) 
       throw callbackState.Exception; 
      Console.WriteLine(HttpSocket.GetResponseText(callbackState.ResponseStream)); 
      }); 
     } 
+0

你能舉個例子嗎? – caras

+0

你需要什麼樣的例子? –

+0

作爲使用類型的一個例子? – caras