2012-02-22 13 views
6

Estoy usando MVC3, y tengo un poco de lógica para cambiar la cultura que funciona bien. Mi problema es que parece que hay algunos lugares donde se debe hacer este cambio, y no estoy seguro de cuál sería el mejor lugar para hacerlo.MVC3 forma correcta de cambiar el cultivo para cada solicitud

Algunos ejemplos muestran una anulación en cada acción, desde el interior de un controlador de la siguiente manera:

protected override void OnActionExecuted(ActionExecutedContext filterContext) 
{ 
    // code to change culture 
} 

Considerando que una forma más tradicional que yo estoy acostumbrado a ver lo está haciendo en el archivo Global.asax la siguiente manera:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    // code to change culture 
} 

¿Cuál es el lugar recomendado para hacerlo?

Respuesta

6

global.asax es la forma correcta de hacerlo de ASP.NET. Funciona a través de marcos (formularios web, datos dinámicos, mvc).

+0

¿Hay una manera correcta para parar el código de la cultura de ser llamado para solicitudes a cosas como imágenes, archivos CSS, JavaScript, etc Este – eyeballpaul

+0

en web.config: < módulos runAllManagedModulesForAllRequests = "false "/> linkerro

4

Application_BeginRequest está bien. Si establece la cultura en el hilo allí, toda la solicitud HTTP se ejecutará en esa cultura.

Thread.CurrentThread.CurrentCulture = new CultureInfo(myCulture); 
Cuestiones relacionadas