2011-12-10 9 views
0

ASP MVCサイトと通信するWindowsアプリケーションを作成しています。C#WindowsアプリケーションからASP MVC 4サイトへのポスト

このサイトには、モデルからオブジェクトを渡すPOSTリクエストのコントローラメソッドがあります。

デスクトップアプリケーションで同じクラスにアクセスでき、同じタイプのオブジェクトを作成してからHTTP POSTリクエストを作成し、オブジェクトを添付してサイトに送信できることを期待していました。

私は、Property1 = value1 & Property2 = value2が働いたので、クラスのプロパティと一致するキーと値のペアであることがわかりましたが、リストを表現する方法がわかりません。

オブジェクトをHTTPリクエストにシリアル化する簡単な方法はありますか、リスト内の各項目に対して複数のリクエストを行う必要がありますか?

答えて

1

あなたはしかし、これは良い方法ではありません

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クライアントを使用することができます。この種の通信はウェブサービスで実装する必要があります。アプリケーションがうまく設計されている場合(たとえば、サービスレイヤ/リポジトリがある場合)、単純なWebサービスをMVCフロントエンドと並べて公開するよりも簡単です。

+0

私はウェブサービスを作っています。 Webサービスは、アプリケーション内のオブジェクトに逆シリアル化されたJSONオブジェクトを返します。私の問題は、アプリケーションからWebサービスに送信するためのリストを含むPOSTデータにオブジェクトをシリアル化しています。 –

+1

シリアライゼーションに苦労しなければならない技術は何ですか?なぜあなたはWCFを使用せず、この低レベルのものをあなたのために扱うのですか? – rouen

関連する問題