0

我需要从 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);
    }
4

1 回答 1

1

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

System.Web.HttpContext.Current.Cache.Remove("ContentNames"); 
于 2015-04-26T19:14:03.703 回答