Не строго относится к самому вопросу , но, скорее, для того, чтобы держать контроллеры (разумно) строго типизированными и чистыми, я бы также порекомендовал класс Session фасад, подобный классу, который заключает в себе любую информацию о сеансе, чтобы вы хорошо читали и писали.
Пример:
public static class SessionFacade
{
public static string CurrentLanguage
{
get
{
//Simply returns, but you could check for a null
//and initialise it with a default value accordingly...
return HttpContext.Current.Session["current_language"].ToString();
}
set
{
HttpContext.Current.Session["current_language"] = value;
}
}
}
Usage:
public ActionResultChangelangue(FormCollection form)
{
SessionFacade.CurrentLanguage = form["languageid"];
return View();
}