加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在ASP.NET MVC中使用线程设置当前文化

发布时间:2020-12-16 06:58:19 所属栏目:asp.Net 来源:网络整理
导读:Here’s一个SetCulture属性的例子,里面做了这样的事情: public void OnActionExecuting(ActionExecutingContext filterContext) { string cultureCode = SetCurrentLanguage(filterContext); if (string.IsNullOrEmpty(cultureCode)) return; HttpContext.C
Here’s一个SetCulture属性的例子,里面做了这样的事情:

public void OnActionExecuting(ActionExecutingContext
        filterContext)
    {
        string cultureCode = SetCurrentLanguage(filterContext);

        if (string.IsNullOrEmpty(cultureCode)) return;

        HttpContext.Current.Response.Cookies.Add(
            new HttpCookie("Culture",cultureCode)
            {
                HttpOnly = true,Expires = DateTime.Now.AddYears(100)
            }
        );

        filterContext.HttpContext.Session["Culture"] = cultureCode;

        CultureInfo culture = new CultureInfo(cultureCode);
        System.Threading.Thread.CurrentThread.CurrentCulture =
            culture;
        System.Threading.Thread.CurrentThread.CurrentUICulture =
            culture;
    }

我想知道这对多个用户登录的网站有何影响,每个用户都设置了自己的文化?关于运行该站点的IIS工作进程(w3wp),此处的线程范围是什么?

解决方法

它与普通的Asp.Net完全相同.该线程从头到尾用于此请求,然后被有效地抛弃(如果你想迂腐,底层平台线程会坚持一段时间).

因此,多个用户不会受到影响 – 因为每个用户都有自己的并发线程 – 我在几个站点上做了完全相同的事情(包括在几个小时内经常被数万个独立访问者攻击的站点)它总是很好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读