I've got an issue where a .RDL report (remote processing) running on SSRS 2005 will render with expression evaluated when viewed via web browser:
http://my-server/ReportServer/Pages/ReportViewer.aspx?/Group%20Reports/Report_Lines&rs:Command=Render
However, when run inside a C# app (via Microsoft.Reporting.WinForms.ReportViewer control) seemingly the report renders without evaluating the expressions built into the report.
Some things to note:
myReportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote;
- The expressions are generally of a conditional formatting nature - color changing dependant on value etc etc.
- As far as I can tell (I've spent a few hours Googling / MSDN / looking here etc) the issue is down to trust / credentials when running the expression eval at the server end.
Also, the differences in ReportServer__06_07_2011_07_57_20.log when calling the report:
WEBforms
-=-=-=-=-
w3wp!library!7!06/07/2011-11:10:47:: Call to GetPermissionsAction(/Scorecard Reports/Report_Lines).
w3wp!library!7!06/07/2011-11:10:48:: Call to GetPermissionsAction(/Scorecard Reports/Report_Lines).
w3wp!library!7!06/07/2011-11:10:48:: Call to GetPermissionsAction(/Scorecard Reports/Report_Lines).
w3wp!library!7!06/07/2011-11:10:48:: Call to GetPermissionsAction(/Scorecard Reports/Report_Lines).
w3wp!library!7!06/07/2011-11:10:48:: Call to GetPermissionsAction(/Scorecard Reports).
w3wp!library!7!06/07/2011-11:10:49:: Call to GetPermissionsAction(/Scorecard Reports/Report_Lines).
w3wp!library!7!06/07/2011-11:10:49:: Call to GetPropertiesAction(/Scorecard Reports/Report_Lines, PathBased).
w3wp!library!7!07/06/2011-11:10:59:: i INFO: Call to RenderFirst( '/Scorecard Reports/Report_Lines' )
w3wp!library!7!07/06/2011-11:11:01:: i INFO: Call to RenderNext( '/Scorecard Reports/Report_Lines' )
w3wp!cache!7!07/06/2011-11:11:01:: i INFO: Session live: /Scorecard Reports/Report_Lines
w3wp!library!1!07/06/2011-11:11:03:: i INFO: Call to RenderNext( '/Scorecard Reports/Report_Lines' )
w3wp!cache!1!07/06/2011-11:11:03:: i INFO: Session live: /Scorecard Reports/Report_Lines
w3wp!library!1!07/06/2011-11:11:03:: i INFO: Call to RenderNext( '/Scorecard Reports/Report_Lines' )
w3wp!cache!1!07/06/2011-11:11:03:: i INFO: Session live: /Scorecard Reports/Report_Lines
w3wp!library!1!07/06/2011-11:11:04:: i INFO: Call to RenderNext( '/Scorecard Reports/Report_Lines' )
w3wp!cache!1!07/06/2011-11:11:04:: i INFO: Session live: /Scorecard Reports/Report_Lines
w3wp!library!1!07/06/2011-11:11:31:: i INFO: Call to RenderFirst( '/Scorecard Reports/Report_Lines' )
-=-=-=-=-
...vs...
WINforms
-=-=-=-=-
w3wp!library!7!06/07/2011-11:13:08:: i INFO: Call to RenderFirst( '/Scorecard Reports/Scorecard_Report' )
w3wp!webserver!7!06/07/2011-11:13:08:: i INFO: Processed report. Report='/Scorecard Reports/Scorecard_Report', Stream=''
-=-=-=-=-
Basically, I'm happy to go log trawling for more info - but am stuck as to where to look.
Has anyone got a clue for me on where to look next?
tl;dr: Winforms.ReportViewer is not evaluating expressions, whereas Webforms.ReportViewer is evaluating expressions.