Boa*_*ler 4 asp.net-mvc cultureinfo owin owin-middleware .net-4.6
我有一个非常好的owin文化中间件.
它只是根据网址改变文化.这完全适用于4.5.*.现在当runtiome更改为4.6.1时,文化不再保留,因此它不起作用.
我可以在一个非常简单的解决方案中重现它,只有这个中间件模拟文化变化
public class CultureMiddleware : OwinMiddleware
{
public CultureMiddleware(OwinMiddleware next)
: base(next)
{
}
public override async Task Invoke(IOwinContext context)
{
var culture = new CultureInfo("es-ES");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
CultureInfo.CurrentCulture = culture;
CultureInfo.CurrentUICulture = culture;
await Next.Invoke(context);
}
}
Run Code Online (Sandbox Code Playgroud)
我将中间件附加到它执行的管道但是当我调用一个动作时,控制器没有文化(就像在.net 4.5.1中那样)
我已经在这里发布了,但支持非常慢.每两周一次回答然后看起来他们没有尝试过他们写的东西:-(
https://connect.microsoft.com/VisualStudio/feedback/details/2455357
我收到了微软的回复,对我有用.
您可以尝试在web.config文件中设置以下元素.该元素必须是
<appSettings>元素的子元素.
<add key="appContext.SetSwitch:Switch.System.Globalization.NoAsyncCurrentCulture" value="true" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |