Frequently, I'll have add-on reports that we don't necessarily want to deploy to a full Reporting Services installation. I don't need the scheduling or other features of Reporting Services and would rather just run them in-application and return the result. To this end, I've written a "WebReportRender" class that takes an .rdlc and renders it as a PDF to the browser. In WebForms, this meant some goo to render the Http headers to trigger a file download in the browser. I've wrapped all that nicely and it's served me well the past few years. Now, ASP.NET MVC adds a nice FileContentResult which wraps some of this goo for you. To reuse WebReportRender in ASP.NET MVC, I had to add methods to just output the byte array without the Http Headers:
Using WebReportRenderer from ASP.NET MVC is simple:
This isn't something you'd use for high volume reports, or if you need advanced delivery or scheduling capabilities. But for one-off reports that only a few people will ever use, it works pretty well.