C# 为什么可以';设置Thread.CurrentThread.CurrentCulture吗?

C# 为什么可以';设置Thread.CurrentThread.CurrentCulture吗?,c#,.net,multithreading,wcf,cultureinfo,C#,.net,Multithreading,Wcf,Cultureinfo,我有一个WCF服务,我在其中设置CurrentCulture和CurrentUICulture,以确保我的资源正确本地化。有时它似乎有效,但有时设置它似乎被忽略 正如您在这里看到的,值“de de”已分配,但线程的当前区域性似乎忽略了它。在哪里设置区域性?如果设置区域性,可能您的线程此时已经启动。或者你从另一个线程设置它,它已经启动了。我正在尝试改变我当前所在线程的文化。线程是由框架自动创建的,这取决于你在哪里设置它,你在哪里做这个?如果您的应用程序已经在运行,并且您尝试按照说改变UICult

我有一个WCF服务,我在其中设置CurrentCulture和CurrentUICulture,以确保我的资源正确本地化。有时它似乎有效,但有时设置它似乎被忽略


正如您在这里看到的,值“de de”已分配,但线程的当前区域性似乎忽略了它。

在哪里设置区域性?如果设置区域性,可能您的线程此时已经启动。或者你从另一个线程设置它,它已经启动了。我正在尝试改变我当前所在线程的文化。线程是由框架自动创建的,这取决于你在哪里设置它,你在哪里做这个?如果您的应用程序已经在运行,并且您尝试按照说改变UICulture,它不会立即反映;您必须事先执行这些操作。您是否见过硬编码值(而不是会话值)的这种行为?这是一个调试器工件。理想情况下,调试器在当前活动线程的上下文中计算表达式。但这并不总是可能的,在我所知没有记录的情况下。在这种情况下,它使用专用的“调试线程”。所以Thread.CurrentThread告诉您调试线程的状态,而不是您的线程。继续,不是真正的问题。你把文化设定在哪里?如果设置区域性,可能您的线程此时已经启动。或者你从另一个线程设置它,它已经启动了。我正在尝试改变我当前所在线程的文化。线程是由框架自动创建的,这取决于你在哪里设置它,你在哪里做这个?如果您的应用程序已经在运行,并且您尝试按照说改变UICulture,它不会立即反映;您必须事先执行这些操作。您是否见过硬编码值(而不是会话值)的这种行为?这是一个调试器工件。理想情况下,调试器在当前活动线程的上下文中计算表达式。但这并不总是可能的,在我所知没有记录的情况下。在这种情况下,它使用专用的“调试线程”。所以Thread.CurrentThread告诉您调试线程的状态,而不是您的线程。继续,不是什么大问题。