¿Cuál es el mejor lugar para configurar la cultura / UI Culture en una aplicación ASP.net MVC?
Actualmente tengo una clase CultureController que se ve así:
public class CultureController : Controller
{
public ActionResult SetSpanishCulture()
{
HttpContext.Session["culture"] = "es-ES";
return RedirectToAction("Index", "Home");
}
public ActionResult SetFrenchCulture()
{
HttpContext.Session["culture"] = "fr-FR";
return RedirectToAction("Index", "Home");
}
}
y un hipervínculo para cada idioma en la página de inicio con un enlace como este:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
que funciona bien, pero creo que hay una forma más apropiada de hacerlo.
Estoy leyendo la Cultura usando el siguiente ActionFilter http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx . Soy un poco novato de MVC, así que no estoy seguro de estar configurando esto en el lugar correcto. No quiero hacerlo a nivel web.config, tiene que basarse en la elección del usuario. Tampoco quiero verificar sus encabezados http para obtener la cultura de la configuración de su navegador.
Editar:
Para que quede claro, no estoy tratando de decidir si usar sesión o no. Estoy feliz con esa parte. Lo que estoy tratando de resolver es si es mejor hacer esto en un controlador de Cultura que tiene un método de acción para cada Cultura que se va a configurar, o ¿hay un lugar mejor en la canalización de MVC para hacer esto?