Доступ к кэшу данных 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"); 
Другие вопросы по тегам