Доступ к кэшу данных ASP.Net из метода веб-API в том же проекте ASP.Net
Мне нужно удалить кэш ASP.Net изнутри метода веб-API. Этот кэш с именем ContentNames был установлен в коде позади страницы aspx с использованием следующего кода. Возможно ли это, и если да, то как мне получить доступ к кешу данных ASP.Net изнутри метода Web API?
Web API и все страницы aspx являются частью одного проекта веб-сайта в Visual Studio 2013.
System.Web.HttpContext.Current.Cache.Insert("ContentNames", dt, null,
System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 60, 0));
Метод Web API, из которого мне нужно получить доступ и удалить кэш данных ContentNames, выглядит следующим образом.
[Authorize]
[HttpPut]
public HttpResponseMessage ApproveOrRejectContent( RadEditorContentAdminParas paras)
{
var data = GetUnApprovedContent(paras.ApprovedOrRejected, paras.PageId);
//NEED to remove a Cache by the name of 'ContentNames' ???
return Request.CreateResponse<ContentsInfoResult>(HttpStatusCode.OK, data);
}
1 ответ
Решение
Просто добавьте ссылку на System.Web на ваш контроллер Web Api, и вы сможете получить доступ к текущему кешу и удалить его:
System.Web.HttpContext.Current.Cache.Remove("ContentNames");