我有一个包含一个方法的web服务,这是使用CacheDuration
缓存:清除web服务的的OutputCache WEBMETHOD
[WebMethod(CacheDuration = 300)]
public bool CacheTest()
{
return true;
}
后者又称为一个ASP.NET MVC项目:
[HttpGet]
public IHttpActionResult Test()
{
var cacheResult = _testWebService.Test();
return Ok(cacheResult.ToString());
}
我希望能够清除CacheTest
的缓存,无论是从我的Web服务还是ASP.NET MVC项目中。
但是,我已经研究过使用HttpResponse.RemoveOutputCacheItem
,但似乎只清除缓存的Test
控制器方法,而不是CacheTest
Web服务方法。
我也尝试过使用HttpContext.Current.Cache.Remove()
,但我没有用于CacheTest
缓存的密钥。
在什么情况下你想清除缓存? – mjwills
@mjwills从两个项目中的另一种方法。浏览器没有缓存结果,即Web服务所在的服务器。 – Chawin
两个项目中的其他方法如何决定缓存应该被清除? – mjwills