HttpClient PostAsync - 空字符串变为空字符串?

时间:2014-02-13 20:55:26

标签: c# dotnet-httpclient

我正在使用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帖子将失败,因为它们是必填字段。 (该调用导致来自服务器的错误请求响应)。某事,某处将我的空字符串转换为空字符串。

有没有办法仍然使用空字符串调用服务工作?为什么空字符串被转换为空字符串?

0 个答案:

没有答案