Thanks, but that is not the problem. I did add that to each web.config (each area has it's own Views folder and web.config and I added it to all of them). I also added it to the:
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="DevTrends.MvcDonutCaching" />
of the root web.config since not all of my views are Razor.
Before I did this, it wouldn't compile (I have it set to compile the views too) as it couldn't resolve the overload, so I know this is not the issue.
My best guess at this point is that an exception is being thrown somewhere but even stepping through the code I can't find it. There is nothing in the IIS logs, nothing in Elmah, nothing in the Windows Event logs. I can step through all the code in Both
of the controller actions, it just always returns a completely empty result. View Source on the page and all you get is:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
and I think the browser probably generates that html because if I turn on Fiddler, all I get is the response headers:
HTTP/1.1 200 OK
Date: Tue, 05 Jun 2012 17:45:29 GMT
Comment out the attribute [DonutOutputCache(Duration = 60)] and the page loads normally.
Any other ideas?