Я хочу сохранить небольшой список простого объекта (содержащего три строки) в моем приложении ASP.NET MVC. Список загружается из базы данных и редко обновляется путем редактирования некоторых значений в админке сайта.
Я подумываю использовать HttpContext.Current.Application
для его хранения. Таким образом я могу загрузить его в Global.asax:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
HttpContext.Current.Application["myObject"] = loadDataFromSql(); // returns my object
}
А затем можно легко ссылаться на него с любых контроллеров или представлений по мере необходимости. Затем в случае, если область администрирования вызывает действие контроллера updateMyObject
, я могу просто обновить БД, загрузить ее снова и заменить HttpContext.Current.Application["myObject"]
.
Есть ли в этом минусы? Кажется, что это будет хорошо работать для того, чего я пытаюсь достичь, однако знает ли кто-нибудь лучший способ сделать это, если предположить, что у метода, который я изложил, есть какой-то серьезный недостаток?