我正在尝试对 ASP.NET 5 Web 应用程序的主机区域设置进行全面覆盖。大多数解决方案参考<globalization/>
web.config 元素,但这是特定于 IIS 的,似乎不适合新的 ASP.NET 模型。
I tried:
app.Use(next => context => {
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-AU");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-AU");
return next(context);
});
这会被执行,但这似乎对请求没有任何影响(可能是由于广泛的Task
正在管道中?)有更好的方法来实现这一点吗?
问题出在异步控制器上。您应该将默认区域性设置为所有线程:
app.Use(next => context => {
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.GetCultureInfo("en-AU");
CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-AU");
return next(context);
});
实际上,您可以将这些行放在配置方法的顶部:
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.GetCultureInfo("en-AU");
CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-AU");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)