title: Cannot get basic localization to work with ASP.NET 5
body: <p>I'm trying localize my ASP.NET 5 / MVC 6 (RC1) project. Unfortunately the official documentation is still missing so I based my experiments mainly on <a href="http://www.vodovnik.com/2015/09/20/localization-in-asp-net-5-mvc-6/" rel="nofollow">this</a> and <a href="http://damienbod.com/2015/10/21/asp-net-5-mvc-6-localization/" rel="nofollow">this</a> blog posts.</p>
  
  <p>Here is what I did: In <code>Configure</code> (Startup.cs) I have</p>
  
  <pre><code>app.UseRequestLocalization(new RequestLocalizationOptions
  {
      RequestCultureProviders = new List&lt;IRequestCultureProvider&gt;
      {
          new CustomRequestCultureProvider(httpContext =&gt; Task.FromResult(new ProviderCultureResult("de-CH"))),
          new AcceptLanguageHeaderRequestCultureProvider()
      }
  }, new RequestCulture("en-US"));
  </code></pre>
  
  <p>Note that the first entry in my <code>RequestCultureProviders</code> list always returns the <code>de-CH</code> culture. So I would expect that the <code>AcceptLanguageHeaderRequestCultureProvider</code> as well as the default <code>RequestCulture</code> (<code>en-US</code>) have no influence.</p>
  
  <p>However when I look at</p>
  
  <pre><code>HttpContext.Features.Get&lt;IRequestCultureFeature&gt;().RequestCulture.Culture.Name;
  </code></pre>
  
  <p>in some controller action, its value is <code>en-US</code> and not the expected <code>de-CH</code>.</p>
  
  <p>I then tried to change the default <code>RequestCulture</code> in <code>Configure</code> from <code>en-US</code> to <code>de-DE</code> and now when I look at </p>
  
  <pre><code>HttpContext.Features.Get&lt;IRequestCultureFeature&gt;().RequestCulture.Culture.Name;
  </code></pre>
  
  <p>in my controller action, it has the value <code>de-DE</code>.</p>
  
  <p><strong>So the question is</strong>: Why does ASP.NET fall back to the default culture instead of using the culture <code>de-CH</code> provided by my <code>CustomRequestCultureProvider</code>?</p>