2013-04-01 118 views
0

在這裏我不想等待服務器的響應,因爲我不在意這些httpwebrequest的響應 。做httpwebrequest但不等待回覆

可以嗎?還是會影響將來的系統?

HttpWebRequest PostRequest = (HttpWebRequest)WebRequest.Create(PostUrl); 
     PostRequest.ContentType = PostContentType; 
     PostRequest.Method = "POST"; 
     byte[] bytes = Encoding.ASCII.GetBytes(DataUrl);    
     try 
     { 
      PostRequest.ContentLength = bytes.Length; 
      using (Stream webpageStream = PostRequest.GetRequestStream()) 
      { 
       webpageStream.Write(bytes, 0, bytes.Length); 
      } 
     } 
     catch (Exception ex) 
     { 
      // 
     } 

感謝

回答

2

您可以撥打異步BeginGetRequestStream(),然後處理響應數據當它完成。如果您不需要響應數據,那麼您可以忽略它,但是您可能有興趣獲取響應狀態代碼以檢查您的請求是否成功。

2

耶只是不要忘記添加這些行

webpageStream.Flush(); 
    webpageStream.Close(); 
+2

關閉不需要,因爲使用將處理該部分。 –

0

yest的befor這個答案是那麼的真實,刪除此代碼:

var response = (HttpWebResponse)request.GetResponse(); 

var responseString = new SreamReader(response.GetResponseStream()).ReadToEnd(); 

,並添加後使用流這樣的流動代碼stream.write:

stream.Flush(); 
stream.Close();