KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
For multilingual ASP.NET MVC 3 web application, I am determining the Thread.CurrentThread.CurrentCulture and Thread.CurrentThread.CurrentUICulture on the controller factory as follows: 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); } } The above code is nearly a year old now! So, I open for suggestions. And I register this on the Global.asax file like: ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory()); This is working good but I am not sure if it is the best practice and best place to do this type of action. I haven't dug into the main role of ControllerFactory and I am unable to compare it against ActionFilterAttribute . What do you think about the best place to do this type of action?
Tags (comma-separated)
Save Edits
Cancel