Melhor lugar para definir o CurrentCulture para aplicativos da Web ASP.NET MVC multilíngues

Para um aplicativo Web multilíngue do ASP.NET MVC 3, estou determinando oThread.CurrentThread.CurrentCulture eThread.CurrentThread.CurrentUICulture na fábrica do controlador da seguinte maneira:

public class MyControllerFactory : DefaultControllerFactory {

    protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType) {

        //Get the {language} parameter in the RouteData
        string UILanguage;
        if (requestContext.RouteData.Values["language"] == null)
            UILanguage = "tr";
        else
            UILanguage = requestContext.RouteData.Values["language"].ToString();

        //Get the culture info of the language code
        CultureInfo culture = CultureInfo.CreateSpecificCulture(UILanguage);
        Thread.CurrentThread.CurrentCulture = culture;
        Thread.CurrentThread.CurrentUICulture = culture;

        return base.GetControllerInstance(requestContext, controllerType);
    }

}

O código acima tem quase um ano! Então, abro para sugestões.

E eu registro isso no arquivo Global.asax como:

ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory());

Isso está funcionando bem, mas não tenho certeza se é a melhor prática e o melhor lugar para realizar esse tipo de açã

Eu não peguei o papel principal deControllerFactory e não consigo compará-lo comActionFilterAttribute.

O que você acha do melhor lugar para realizar esse tipo de ação?

questionAnswers(4)

yourAnswerToTheQuestion