2011-12-10 76 views
0

我在寫一個Windows應用程序,它將與ASP MVC網站進行通信。從C#Windows應用程序發佈到ASP MVC 4網站

該站點具有POST請求的控制器方法,該方法將來自我的模型的對象傳遞給它。

我有權訪問我的桌面應用程序中的那些相同類,並希望能夠創建相同類型的對象,然後創建HTTP POST請求,附加對象並將其發送到站點。

我發現POST數據只是匹配類的屬性的鍵值對,所以Property1 = value1 & Property2 = value2工作,但是我很難理解如何表示列表。

是否有一些簡單的方法將對象序列化到HTTP請求中,還是必須爲列表中的每個項目發出多個請求?

回答

1

您可以使用WebClient的實施這樣的行爲

string url = "your POST action url here"; 
NameValueCollection formData = new NameValueCollection(); 
formData["name"] = "John"; 
// add more form field/values here 

WebClient webClient = new WebClient(); 
byte[] responseBytes = webClient.UploadValues(url, "POST", formData); 
string response = Encoding.UTF8.GetString(responseBytes); 

然而,這不是好的做法。這種通信應該使用網絡服務來實現 - 如果你的應用程序設計得很好(例如你有服務層/存儲庫),沒有什麼比簡單的web服務與MVC前端並排展示更容易。

+0

我在做一個web服務。 Web服務返回在我的應用程序中反序列化爲對象的JSON對象。我的問題是將對象序列化爲POST數據,其中包含從應用程序發送到Web服務的列表。 –

+1

你在建造什麼技術,你必須爲序列化而苦惱?爲什麼不使用WCF並讓它爲你處理這種低級別的東西? – rouen

相關問題