Setting current culture with threads in ASP.NET MVC

Posted by mare on Stack Overflow See other posts from Stack Overflow or by mare
Published on 2011-02-22T15:18:39Z Indexed on 2011/02/22 15:25 UTC
Read the original article Hit count: 292

Here's an example of SetCulture attribute which inside does something like this:

    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;
    }

I was wondering how does this affect a site with multiple users logged on and each one setting their own culture? What is the scope of a thread here with regards to the IIS worker process (w3wp) that the site is running in?

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about multithreading