Globalização MVC3: precisa de filtro global antes da ligação do modelo

Atualmente, tenho um filtro global chamadoGlobalizationFilter que verifica os valores da rota, os cookies e o cabeçalho dos idiomas do navegador para determinar as configurações de cultura corretas para a solicitação:

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // determine cultureInfo
    Thread.CurrentThread.CurrentCulture = cultureInfo;
    Thread.CurrentThread.CurrentUICulture = cultureInfo;
}

Tudo funciona, mas o processo de ligação do modelo parece ocorrer antes dos filtros globais e, portanto, o fichário do modelo não leva em consideração as configurações de cultur

Isso leva a problemas com a interpretação de valores duplos,DateTime valores etc.

Posso mover o código de detecção de cultura para outros locais, mas não gosto de nenhuma das minhas opções:

FormuláriosBeginRequest evento. Nesse momento, o roteamento não ocorreu, então terei que pescar manualmente o/en-US/ token de cultura do URL. Isso é inaceitável.

ControladorInitialize() método. Isso me forçará a escrever uma classe base para todos os meus controladores e herdar os controladores existentes. Não gosto disso, mas optarei por esta solução se nada melhor surgir.

Idealmente, quero encontrar uma maneira de injetar meu código entre os eventos "roteamento completo" e "início de ligação do modelo", mas não encontrei nada no MSDN / Google sobre isso.

Ou talvez exista alguma outra maneira de lidar com a globalização do MVC3 que eu desconheç

Agradecemos antecipadamente por qualquer contribuiçã

questionAnswers(1)

yourAnswerToTheQuestion