【问题标题】:Simple WebClient not working: Customized cultures cannot be passed by LCID, only by name简单的 WebClient 不起作用:LCID 无法传递自定义文化,只能通过名称传递
【发布时间】:2016-02-08 09:59:17
【问题描述】:

我正在尝试使用 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) 引发异常

【问题讨论】:

  • 有大量关于该错误的帖子google.es/…
  • @Gusman 从开发的角度来看,它们都不是。大部分是在安装某些软件时遇到的错误。

标签: c# .net webclient


【解决方案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 或更高版本可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-21
    • 2015-01-13
    • 1970-01-01
    • 2017-11-27
    • 2021-12-28
    • 2012-02-10
    • 2019-02-05
    • 2016-12-03
    相关资源
    最近更新 更多