2011-04-04 77 views
6

我正在寫一個類庫來執行我的控制之外的網站上的操作。 該網站正在接受表單作爲輸入。.NET WebClient.UploadValues vs WebClient.UploadData

任何人都可以告訴我,除了要上傳的數據的形式之外,這兩種方法是否有區別?

System.Net.WebClient.UploadData(Uri, Byte[]); 

    System.Net.WebClient.UploadValues(String, NameValueCollection); 

我不反對,安排數據無論哪種方式,而是開始思考什麼區別實際上是,它仍然是我嘮叨一些奇怪的方式,不知道是否是有區別的。

+0

該框架的源代碼可用 - 它通常是回答這類問題的好方法,而IME在您尋找時偶然發現其他有用的東西。 – 2011-04-04 14:09:10

+0

謝謝,威爾,我不懶惰,但我確實傾向於忘記明顯。 – Guidhouse 2011-04-04 19:27:57

回答

11

這兩個「POST」數據到服務器。如果使用UploadValues,這些值將在Request.Form集合中提供給服務器,這是普通HTML表單的工作原理。 UploadData爲您提供更大的靈活性,因爲您的數據不會被轉義。它取決於您以服務器將理解的方式格式化數據。因此,您可以使用UploadData複製UploadValues的行爲。

+0

謝謝。這確實對我來說:) – Guidhouse 2011-04-04 19:16:00