我们有一个网络应用程序,它在报告查看器中显示SSRS报告。 从过去10个月开始,一切正常。但是在过去三天里,用户在查看报告时突然出现错误:
System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname)
at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute[TReturn](RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod)
at Microsoft.Reporting.WebForms.ServerReport.EnsureExecutionSession()
at Microsoft.Reporting.WebForms.ServerReport.GetParameters()
at ViewReport.showReport(Guid ReportID, String ReportName, String ReportPath, Boolean isExport, Boolean isHeirarchy, String UserName, Decimal repID)
并非每个用户都面临此错误。我还试图测试这些报告,我很震惊地看到有时候这个错误会出现,有时也不会出现在同一份报告中。 我在我的应用程序中使用Report Viewer 10并传递SSRS Admin凭据以提取报告。
我的申请中httpruntime executiontimeout
设置为20分钟。这可能是此错误的罪魁祸首,因为在我将此属性从默认值更改为20分钟以增加报告超时后两天内出现此错误。
请帮助我们,因为这个错误正在扼杀我。
答案 0 :(得分:0)
我通过将代码从Page_load事件移动到Page_Init事件来解决我的问题。