title: DefaultThreadCurrentCulture in ASP.NET MVC 5 Full Request
body: <p>In our ASP.NET MVC 5 project we set the <strong>Culture of the main thread based</strong> on the value of a cookie so that the full Request is run under the same culture.</p>
  
  <p>We'd like to start using the <strong>Async</strong> support. If we set the <strong>DefaultThreadCurrentCulture</strong> when the <em>Request</em> starts, will this cause all threads on this, and only this, <em>Request</em> to run as the defined culture?</p>
  
  <p>The site gets a lot of traffic so I am worried that if I use <strong>DefaultThreadCurrentCulture</strong> that it will affect other user's as their Requests come in at the same instant.</p>
  
  <pre><code> My BaseController
     {
      protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)
      {
          string defaultCulture = "fr-CA"; //From Cookie in reality
  
          // Modify current thread's cultures            
          Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
          Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
          Thread.CurrentThread.DefaultThreadCurrentCulture= Thread.CurrentThread.CurrentCulture;
          Thread.CurrentThread.DefaultThreadCurrentUICulture= Thread.CurrentThread.CurrentCulture;
  
          return base.BeginExecuteCore(callback, state);
      }
     }
  </code></pre>