Я хочу кэшировать результат моей хранимой процедуры db.BIOGetETLJobs()
вызванный LINq в течение 5 минут, а затем использовать ее в других методах контроллера.
Как кэшировать результат?
public class JobsETLController : Controller
{
private ETL_REP_MAUIEntities db = new ETL_REP_MAUIEntities();
public ObjectResult<BIOGetETLJobs_Result> ETLJobs;
public JobsETLController()
{
ETLJobs =db.BIOGetETLJobs();
}
Чтобы кэшировать результаты во всех сеансах браузера, а не на том же SQL Server, с которого вы сначала запрашиваете задания ETL, вам понадобится служба Windows, работающая на том же ПК, на котором работает ваш веб-сервер, который может удерживайте данные в памяти.
WCF - хороший выбор для общения с сервисом.
Некоторые ссылки, чтобы вы начали:
Как разместить службу WCF в управляемой службе Windows?
http://msdn.microsoft.com/en-us/library/ms733069(v=vs.110).aspx