我有一個包含一個方法的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