其他分享
首页 > 其他分享> > 在多线程环境中的静态类上的线程文化

在多线程环境中的静态类上的线程文化

作者:互联网

这是我的第一篇文章,所以请原谅任何错放的地方.

我们正在开发一个ASP.Net MVC 5应用程序,该应用程序为最终用户提供多种文化.
在Global.asax.cs文件的Application_AcquireRequestState()中设置Thread.CurrentThread.CurrentCulture和Thread.CurrentThread.CurrentUICulture.

据我所知,对Web应用程序的每个请求都会触发一个新线程.
我创建了一个静态类,可以根据文化方便地访问某些日期格式的字符串等.

我的问题是,是否有可能从具有不同文化的请求线程上下文(例如,控制器)访问此静态类的方法和get-accessors的问题?静态班级将拥有哪种文化?

解决方法:

班级本身没有任何文化.是访问该类的线程具有区域性,并且该线程的区域性用于一个类(是否静态)中.

静态实际上是指类状态如何在不同线程之间共享.您的静态类可以是无状态的(即,它不存储数据,通常是静态类的辅助类型),这将为您减少麻烦.

如果将任何状态存储在静态类中,则必须注意两个原因:

>通常,在多线程环境中很难控制对静态数据的访问,
>如果您存储的任何数据是特定于区域性的,则在使用具有不同区域性的线程时,在解释此数据时可能会遇到问题.

标签:multithreading,globalization,asp-net,c,asp-net-mvc
来源: https://codeday.me/bug/20191121/2055390.html