Windows 10更新后的.NET Remoting字符串比较行为

时间:2017-11-02 11:37:30

标签: c# remoting

我有一个.NET远程客户端/服务器应用程序,其中我的远程对象有一个返回Dictionary的方法,如下所示:

   public Dictionary<string, string> Test()
    {
        Dictionary<string, string> d = new Dictionary<string, string>(StringComparer.CurrentCultureIgnoreCase);

        d.Add("name", "test");

        return d;
    }

当运行Windows 10并使用更新1709(创建者更新)的客户端计算机调用此远程方法时,键查找不再不区分大小写,即ContainsKey(&#34; Name&#34;)返回false。

在更新1709之前不是这种情况,或者如果还原更新1709。此外,如果字符串比较器更改为StringComparer.OrdinalIgnoreCase(仅更改服务器端),则ContainsKey(&#34; Name&#34;)将返回true。

客户端和服务器都使用相同的区域和语言设置(英语爱尔兰en-IE)。此Windows更新中是否有更改导致此行为?

1 个答案:

答案 0 :(得分:1)

这可能适合你。

public Dictionary<string, string> Test()
{
    Dictionary<string, string> d = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);

    d.Add("name", "test");

    return d;
}