Asp.net web api Asp.Net WebAPI延迟选择获取错误的区域性
在我的ASP.NET WebAPI控制器中,我有以下代码:Asp.net web api Asp.Net WebAPI延迟选择获取错误的区域性,asp.net-web-api,Asp.net Web Api,在我的ASP.NET WebAPI控制器中,我有以下代码: var cultures = [Get culture strings from DB] var model = cultures.Select(culture => new MyModel { Name = CultureInfo.CreateSpecificCulture(culture).NativeName, IsCurrent = CultureInfo.CreateSpecificCulture(cul
var cultures = [Get culture strings from DB]
var model = cultures.Select(culture => new MyModel
{
Name = CultureInfo.CreateSpecificCulture(culture).NativeName,
IsCurrent = CultureInfo.CreateSpecificCulture(culture).Equals(CultureInfo.CurrentCulture)
})
return Ok(model);
我还有一个过滤器,它使用Thread.CurrentThread.CurrentCulture=culture根据Accept language头设置当前语言代码>
在我的代码中,我最近切换到属性路由(尽管这可能不是原因),现在我看到一个奇怪的行为:CultureInfo.CurrentCulture
对于select查询是错误的。如果在调试器中查看,则会设置正确的区域性,如果展开IEnumerable,则会获得正确的区域性,但在浏览器中查看结果时,会使用服务器区域性。我认为这是因为select查询已被更改,并且以某种方式重置了CultureInfo.CurrentCulture
。如果我在模型上执行了ToList()
,则它是正确的
我的语言过滤器是否出错,或者我是否必须确保不从控制器返回Select