Asp.net web api 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

在我的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(culture).Equals(CultureInfo.CurrentCulture)
})
return Ok(model);
我还有一个过滤器,它使用
Thread.CurrentThread.CurrentCulture=culture根据Accept language头设置当前语言

在我的代码中,我最近切换到属性路由(尽管这可能不是原因),现在我看到一个奇怪的行为:
CultureInfo.CurrentCulture
对于select查询是错误的。如果在调试器中查看,则会设置正确的区域性,如果展开IEnumerable,则会获得正确的区域性,但在浏览器中查看结果时,会使用服务器区域性。我认为这是因为select查询已被更改,并且以某种方式重置了
CultureInfo.CurrentCulture
。如果我在模型上执行了
ToList()
,则它是正确的

我的语言过滤器是否出错,或者我是否必须确保不从控制器返回Select