C# 每个请求的Thread.CurrentThread是否唯一?

C# 每个请求的Thread.CurrentThread是否唯一?,c#,asp.net,C#,Asp.net,假设我有两个并行调用的.NETMVC控制器端点。每个请求的Thread.CurrentThread是否唯一?我担心的是我正在更改特定端点中的Thread.CurrentThread.CurrentUICulture,我不希望它影响可以并行调用的任何其他方法 为了详细说明我在做什么:我有一个视图模型类,它使用第三方库来生成它的多语言属性。为了找出属性应该用什么语言表示,库检查Thread.CurrentThread.CurrentUICulture 它确实提供了另一种解决方案,我可以为每个属性传递

假设我有两个并行调用的.NETMVC控制器端点。每个请求的
Thread.CurrentThread
是否唯一?我担心的是我正在更改特定端点中的
Thread.CurrentThread.CurrentUICulture
,我不希望它影响可以并行调用的任何其他方法

为了详细说明我在做什么:我有一个视图模型类,它使用第三方库来生成它的多语言属性。为了找出属性应该用什么语言表示,库检查
Thread.CurrentThread.CurrentUICulture

它确实提供了另一种解决方案,我可以为每个属性传递显式区域性,所以我想这是一种避免篡改线程区域性的方法


下面是插件:

你所说的并行
是什么意思?您是指同时发生的两个web请求吗?请告诉我们您为什么认为需要更改
Thread.CurrentThread.CurrentUICulture
。不要更改区域性,而是使用接受区域性的重载。一个线程一次不能运行多个内容。只要您只在一个连续块中更改(和恢复)区域性,就可以了。否则,你就不好了——如果你
等待某件事情,线程就可以自由地去做其他事情。理想情况下,考虑重写一些东西,这样就不需要UI文化了,通过将文化信息显式传递给可能受它们影响的任何方法。是的,我想那更干净。我的问题是,我必须在属性级别而不是每个请求级别处理此问题(有关详细信息,请参阅更新)。@filur-听起来您需要创建某种“上下文”类,它封装对第三方库的所有访问,但也允许您只在其上设置一次区域性,然后可以根据请求将其放入DI容器中。它公开的方法不会讨论区域性,而是会调用库中指定区域性的适当版本。您所说的并行
是什么意思?您是指同时发生的两个web请求吗?请告诉我们您为什么认为需要更改
Thread.CurrentThread.CurrentUICulture
。不要更改区域性,而是使用接受区域性的重载。一个线程一次不能运行多个内容。只要您只在一个连续块中更改(和恢复)区域性,就可以了。否则,你就不好了——如果你
等待某件事情,线程就可以自由地去做其他事情。理想情况下,考虑重写一些东西,这样就不需要UI文化了,通过将文化信息显式传递给可能受它们影响的任何方法。是的,我想那更干净。我的问题是,我必须在属性级别而不是每个请求级别处理此问题(有关详细信息,请参阅更新)。@filur-听起来您需要创建某种“上下文”类,它封装对第三方库的所有访问,但也允许您只在其上设置一次区域性,然后可以根据请求将其放入DI容器中。它公开的方法不会讨论区域性,而是调用库中指定区域性的适当版本。