MVCコントローラーへのPOSTを実行する必要があるコンソールアプリケーションを作成しています。WebClientクラスを使用してPOSTを実行しています。しかし、メッセージ本文に配列を追加する方法を理解するのに苦労しています。
単純なパラメーターの場合、これを行うと機能するようです。
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "userName", "userName" },
{ "password", "passwordGoesHere"}
};
byte[] responseArray = client.UploadValues(String.Format("{0}/Mobile/StartSession", serverAddress), values);
Debug.WriteLine(String.Format("\r\nResponse received was :\n{0}\n", Encoding.ASCII.GetString(responseArray)));
}
WebClientを使用するときに(他のメソッドの1つを呼び出すために)メッセージ本文で配列を渡す方法を見つけようとしていました。私はこの解決策に出くわしました:WebClient(C#/。net)で配列をPOSTする
ソリューションは実際には(メッセージ本文ではなく)クエリ文字列でパラメータを渡すようです。MVCコントローラーのHttpPostメソッドはまだ正しい情報を受信しているため、これはどのような場合でも機能するようです。ただし、別の方法では、画像をバイトの配列として渡す必要があります。これは大きすぎてクエリ文字列に渡すことができないため、呼び出しは失敗します。
したがって、私の質問は、上記で提供したコードを使用して、そこにも配列を追加するにはどうすればよいかということです。たとえば、バイトの配列だけでなく、文字列の配列もあります。
誰かが私に解決策を提供してくれるなら、それは大いにありがたいです、あるいは私が私の考えに間違っているならば、私に知らせてください。
ありがとう