One way is to use the method :
HttpResponse.RemoveOutputCacheItem("/Home/About");
Another way is described here : http://aspalliance.com/668
I think you could implement the second method by using a method level attribute for every action that you want and just add to it the string representing the key. That's if I understood your question.
Edit: Yes the asp.net mvc OutputCache is just a wrapper .
If you're using varyByParam="none"
then you just invalidate "/Statistics"
- that's if <id1>/<id2>
are querystring values. This will invalidate all versions of the page.
I did a quick test and if you add varyByParam="id1"
and then create multiple versions of the page - if you say invalidate invalidate "/Statistics/id1"
it will invalidate just that version. But you should do further tests.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…