【发布时间】:2016-04-06 15:35:08
【问题描述】:
我有一个运行良好的 owin 文化中间件。
它只是根据 url 改变文化。这在 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);
}
}
我将中间件附加到它执行的管道,但是当我调用一个操作时,控制器没有文化(就像在 .net 4.5.1 中一样)
我已经在这里发布了,但是支持真的很慢。每两周一个答案,然后似乎他们还没有尝试过他们写的东西:-(
https://connect.microsoft.com/VisualStudio/feedback/details/2455357
【问题讨论】:
标签: asp.net-mvc owin cultureinfo .net-4.6 owin-middleware