Reportviewer периодически не загружается - PullRequest
0 голосов
/ 26 января 2019

Я перешел по ссылке https://github.com/dhana29/ReportViewer-control-to-replace-iFrame-on-MVC-Project, чтобы создать ReportViewer и показать отчеты в моем приложении ASP.net MVC 5. И все отлично работает в моей среде разработки.

Когда я отправил код на сервер prod. Средство просмотра отчетов время от времени загружает данные, а иногда оно вообще загружается, и я вижу экран ниже, когда он не загружается Отчет не загружен

Prod имеет два сервера, и оба находятся под одним балансировщиком нагрузки.

Это мой контроль в .aspx pageg

        <rsweb:ReportViewer id="reportViewer1" runat ="server" ShowPrintButton="false"  Width="99.9%" Height="100%" AsyncRendering="true" ZoomMode="Percent" 
            KeepSessionAlive="true" SizeToReportContent="false" ></rsweb:ReportViewer>  

на странице .cs:

public partial class ReportViewer : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                string reportPath = Request["reportPath"];
                ReportServerCredentials reportServerCredentials = new ReportServerCredentials(
                    System.Configuration.ConfigurationManager.AppSettings["SSRSUserName"],
                    System.Configuration.ConfigurationManager.AppSettings["SSRSPassword"],
                    System.Configuration.ConfigurationManager.AppSettings["SSRSDomain"]);
                reportViewer1.ProcessingMode = ProcessingMode.Remote;
                reportViewer1.ServerReport.ReportPath = reportPath;
                reportViewer1.ServerReport.ReportServerUrl = new Uri(System.Configuration.ConfigurationManager.AppSettings["SSRSUrl"]);
                reportViewer1.ServerReport.ReportServerCredentials = reportServerCredentials;
                reportViewer1.AsyncRendering = false;
                reportViewer1.KeepSessionAlive = true;

                reportViewer1.ShowZoomControl = false;
                reportViewer1.ShowFindControls = false;
                reportViewer1.ShowPrintButton = false;
                reportViewer1.ShowWaitControlCancelLink = false;
                reportViewer1.ShowBackButton = false;

                reportViewer1.SizeToReportContent = true;
                reportViewer1.ZoomMode = ZoomMode.FullPage;
                reportViewer1.Width = Unit.Percentage(100);
                reportViewer1.Height = Unit.Percentage(100);

                reportViewer1.ServerReport.Refresh();
            }
            catch (Exception ex)
            {

            }
        }
    }
}

Может кто-нибудь сказать мне решение для этого?

...