Hello again,
After spending some late nights on the phone with the US Azure Support representative (and I'm glad that I've did it) I've got the the point where I can tell what happened and which is the issue. Everything was about the ASP.NET Report Viewer - I know that
is a bit incredible but this is the truth.
In few short lines - if you get to the above described behavior, this are the guidelines and checklist that you have to think-about:
a) don't specify the report server credentials manually for each report; instead, create a custom connection class based on IReportServerConnection interface and also specify it in the web.config file as application
setting (<appSettings>) as follows:
<add key="ReportViewerServerConnection" value="[FULL CLASS NAME W/ NAMESPACE, ASSEMBLY]"/> (the key name should be respect it as is)
b) be sure that everywhere in your code, the reportviewer doesn't have set the report server url or the resport server credentials.
c) in the above created class based on the IReportServerConnection, be sure that the values are always taken from the config file and not otherwise:
public bool GetFormsCredentials(out Cookie authCookie, out string userName, out string password, out string authority)
{
authCookie = null;
userName = WebConfigurationManager.AppSettings["RSUser"];
password = WebConfigurationManager.AppSettings["RSPassword"];
authority = WebConfigurationManager.AppSettings["RSDomin"];
return true;
}
So, that's it. The technical explanation is pretty simple - the report viewer creates an instance of the custom credentials class and store it in the session and you get pretty quick to a very large session size.
I hope that this helps.
Evdin