从同一 ASP.Net 项目中的 Web API 方法访问 ASP.Net 数据缓存

Access ASP.Net Data Cache from a Web API method in same ASP.Net project

我需要从 Web API 方法中删除 ASP.Net 缓存。这个名为 'ContentNames' 的缓存是使用以下代码在 aspx 页面的代码隐藏中设置的。 这可能吗?如果可以,那么我如何从 Web API 方法内部访问 ASP.Net 数据缓存?

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));

我需要访问和删除 'ContentNames' 数据缓存的 Web API 方法,如下所示。

    [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);
    }

只需将 System.Web 的引用添加到您的 Web Api 控制器,您就可以访问当前缓存并将其删除:

System.Web.HttpContext.Current.Cache.Remove("ContentNames");