Hog*_*eed 5 c# asp.net-mvc async-await asp.net-web-api owin
使用Mvc(5.2.3)和WebApi(2.2)的网络应用程序.现在我的应用程序是由owin Startup类(Global.asax已被删除)构建并初始化的,其中安装了Microsoft.Owin.Host.SystemWeb包.
以前,在Global.asax时代,我通过使用cookie或AcceptLanguage头文化并设置Thread.CurrentThread.CurrentCulture = new CultureInfo(langSelectedValue)来设置当前的请求文化,即使对于CurrentUiCulture也是如此.
现在,由于我的Global.asax已经过去了,在Startup.cs中保留了设置,模仿以前的文化设置的代码是
app.Use(async (env, next) => {
var langCookie = env.Request.Cookies["cultureName"];
if (langCookie != null && GlobalizationHelper.IsValidCultureCode(langCookie))
{
Thread.CurrentThread.CurrentCulture = new CultureInfo(langCookie);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(langCookie);
}
await next();
})
Run Code Online (Sandbox Code Playgroud)
问题很明显,所有异步请求都会丢失线程文化.我试过很多解决方案:
我感谢任何建议应用CultureInfo并将其保存在Owin异步应用程序中.
提前致谢
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |