简单的WebClient无法正常工作:LCID无法通过名称传递自定义文化

时间:2016-02-08 09:59:17

标签: c# .net webclient

我正在尝试使用WebClient向URL发送一个简单的POST请求,但我正在

  

WebClient请求期间发生异常。

在InnerException中

  

LCID不能通过名称传递自定义文化。

显然,互联网上没有关于此例外的讨论。

这是我的代码:

public static void Send(string message)
{
    var url = "https://api.mailgun.net/v3/sandbox1ebb54bdb39044988d3c916d833769b7.mailgun.org/messages";
    using (var client = new WebClient())
    {
        client.Credentials = new NetworkCredential("api", "some_password");
        var values = new NameValueCollection();
        values["from"] = "Mailgun Sandbox <postmaster@sandbox1ebb54bdb39044988d3c916d833769b7.mailgun.org>";
        var response = client.UploadValues(url, values);
        var responseString = Encoding.Default.GetString(response);
        Reader.log(responseString);
    }
}

client.UploadValues(url, values)

引发异常

1 个答案:

答案 0 :(得分:1)

显然,旧版本的.NET是一个已知问题(如果您的系统区域设置不是美国版)https://connect.microsoft.com/VisualStudio/feedback/details/1741767/compiler-error-customized-cultures-cannot-be-passed-by-lcid-only-by-name

迁移到.NET 4.0或更高版本可以解决问题。