User756353548 posted
Web App:
I have an ASP.NET web forms web app, which uses report viewer control.
The app is hosted in two web instances, and is using F5 load balancer.
The app is using InProc session state.
Report Viewer Control
The report viewer (ver 10) is using remote processing mode.
Reporting services connection is specified via
IReportServerConnection
Access to reporting services is via Active directory user name and passwords.
Reporting server
SQL Server 2008 r2/Reporting services
Settings on two web instances
<appSettings>
<add key="ReportViewerServerConnection" value="MyNamespace.MyClass, MyAssembly"/>
</appSettings>
<system.web>
<sessionState mode="InProc" timeout="25" />
</system.web
other settings omitted (Machine key is the same on both instances)
The app was working since beginning, but it has a problem recently. The problem is that the report viewer uses machine account from each web instance for its request, rather than the active direction user name/password mentioned at the beginning. Thus, the
reporting service rejects the requests.
The exception found on web instance is below:
The report execution SessionIDXXXXX has expired or cannot be found. (rsExecutionNotFound).
The exceptions found on reporting server is below:
Error in getting session data: Session SessionIDXXXXX does not belong to WebInstance1\AccountName$
INFO: LoadSnapshot: Item with session: SessionIDXXXXX, reportPath: , userName: WebInstance1\AccountName$ not found in the database
ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: , Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: The report execution SessionIDXXXXX has expired or cannot be found.;
ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database.;
I would appreciate for any advice.