Globalización MVC3: se necesita un filtro global antes del enlace del modelo

Actualmente, tengo un filtro global llamadoGlobalizationFilter que verifica los valores de ruta, las cookies y el encabezado de los idiomas del navegador para determinar la configuración de cultura correcta para la solicitud:

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

Todo funciona, pero el proceso de vinculación del modelo parece ocurrir antes que los filtros globales, por lo que el archivador del modelo no tiene en cuenta la configuración de cultura.

Esto conduce a problemas con la interpretación de valores dobles,DateTime valores, etc.

Podría mover el código de detección de cultura a otras ubicaciones, pero no me gusta ninguna de mis opciones:

AplicaciónBeginRequest evento. En este momento, la ruta no se ha producido, por lo que tendré que extraer manualmente el/en-US/ token de cultura de la URL. Esto es inaceptable.

ControladorInitialize() método. Esto me obligará a escribir una clase base para todos mis controladores y heredar los controladores existentes de ella. No me gusta esto, pero optaré por esta solución si no surge nada mejor.

Idealmente, quiero encontrar alguna forma de inyectar mi código entre los eventos "enrutamiento completo" y "inicio de enlace de modelo", pero no encontré nada en MSDN / Google sobre esto.

¿O tal vez hay alguna otra forma de manejar la globalización MVC3 que desconozco?

Gracias de antemano por cualquier contribución.

Respuestas a la pregunta(1)

Su respuesta a la pregunta