我正在使用HttpClient类将数据发布到HTTP服务。到目前为止,一切似乎都很好,但我注意到一种情况,即事情无法按照我的预期发挥作用。假设我正在做的帖子需要几个参数,如下所示:
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(BaseAddress);
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("UserId", userId.ToString()),
new KeyValuePair<string, string>("EmailAddress", emailAddress),
new KeyValuePair<string, string>("Details", details)
});
var result = await client.PostAsync("/api/SomeAPICall", content);
if (result.IsSuccessStatusCode)
{
Debug.WriteLine("Successfully made call.");
}
else
{
Debug.WriteLine("Call failed: " + result.StatusCode);
}
}
如果所有字段都有有效值,那么一切正常。但是,如果emailAddress或details字段是空字符串,则服务器的Http帖子将失败,因为它们是必填字段。 (该调用导致来自服务器的错误请求响应)。某事,某处将我的空字符串转换为空字符串。
有没有办法仍然使用空字符串调用服务工作?为什么空字符串被转换为空字符串?