Лучшее место для установки CurrentCulture для многоязычных веб-приложений ASP.NET MVC

Для многоязычного веб-приложения ASP.NET MVC 3 я определяю поток Thread.CurrentThread.CurrentCulture и Thread. CurrentThread.CurrentUICulture на фабрике контроллеров следующим образом:

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);
    }

}

Приведенному выше коду почти год! Итак, я открыт для предложений.

И я регистрирую это в файле Global.asax следующим образом:

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

Это работает хорошо, но я не уверен, что это лучшая практика и лучшее место для выполнения таких действий.

Я не разбирался в главной роли ControllerFactory и не могу сравнить ее с ActionFilterAttribute .

Что вы думаете о лучшем месте для таких действий?

41
задан tugberk 22 November 2011 в 12:05
поделиться