我正在编写一个需要对 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 时如何在消息正文中传递数组(用于调用其他方法之一)。我遇到了这个解决方案:POST'ing arrays in WebClient (C#/.net)
看来解决方案实际上是在查询字符串中传递参数(而不是在消息正文中)。这似乎在任何情况下都有效,因为 MVC 控制器上的 HttpPost 方法仍在接收正确的信息。但是,另一种方法要求我将图像作为字节数组传递。这太大而无法在查询字符串中传递,因此调用失败。
所以我的问题是,使用我上面提供的代码,我怎样才能在其中添加数组。例如一个字节数组,还有一个字符串数组。
如果有人可以为我提供解决方案,将不胜感激,或者如果我的想法不正确,请告诉我。
谢谢