Considder il seguente codice:MultipartFormDataContent non inviare elementi StringContent quando il nome non si esaurisce con []
MultipartFormDataContent MPFD = new MultipartFormDataContent();
MPFD.Add(new StringContent(0.ToString()), "doesNotWork");
MPFD.Add(new StringContent(0.ToString()), "works[]");
HttpClient apiClient = new HttpClient();
var Result = apiClient.PostAsync(testurl, MPFD).Result;
Console.WriteLine("Response: " + Result.Content.ReadAsStringAsync().Result);
Questi dati vengono poi inviato a un gestore generico che fa:
context.Response.ContentType = "text/plain";
foreach (string key in context.Request.Form.AllKeys) {
context.Response.Write(key + ": " + context.Request.Form[key] + Environment.NewLine);
}
Se Lo faccio, vengono pubblicati solo i nomi che terminano con "[]", ma devo anche essere in grado di pubblicare nomi senza "[]". Qualche idea del perché questo comportamento si verifica e come risolverlo?
Nota: Quando si utilizza un FormUrlEncodedContent
, i nomi senza [] vengono pubblicati.
_ "Se faccio questo, solo i nomi che finiscono in '[]' sono postati" _ - hai provato questo, per esempio usando [Fiddler] (http://www.fiddler2.com/fiddler2/)? – CodeCaster