Я хочу отправить массив строк в ActionResult из другого приложения, используя HttpWebRequest с методом post:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:12345/ReceiveData");
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
string data = "tags=data1&tags=data2&tags=data3";
byte[] dataBytes = Encoding.UTF8.GetBytes(data);
request.ContentLength = dataBytes.Length;
Stream reqStream = request.GetRequestStream();
reqStream.Write(dataBytes, 0, dataBytes.Length);
reqStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Encoding encoding = System.Text.Encoding.GetEncoding(1252);
StreamReader responseStream = new StreamReader(response.GetResponseStream(), encoding);
string stringResponse = responseStream.ReadToEnd();
responseStream.Close();
response.Close();
Метод ActionResult:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ReceiveData(string[] tags)
{
return Json(tags);
}
Получаю параметр данныхтолько одна строка, содержащая «data1, data2, data3».Как я должен отправить данные, чтобы получить параметр массива в правильной форме ???Я могу использовать split для генерации массива внутри метода действия, но я предпочитаю получать данные в правильной форме.