2009-11-23 9 views
2

Nous avons la version VS 2005 du contrôle ReportViewer sur une page ASP.NET. Les rapports sont exécutés sur les services de génération de rapports SQL2008 et s'affichent correctement. Nous avons un tri interactif sur les colonnes qui fonctionne comme prévu ... généralement.Délai d'expiration du contrôle ReportViewer sur le tri

Sur les ensembles de résultats plus volumineux (plus de 100 pages), le tri s'arrête et affiche un arrière-plan blanc dans le visualiseur avec les mots «L'opération a expiré». La partie ironique est que cela fait environ 3 secondes. Je pensais que je l'avais quand j'ai vu que le ServerReport.Timeout est de 2000 ms par défaut, mais changer cela à 30.000 ms n'a pas fait de différence. Il est comme il n'a même pas la volonté d'essayer de tri des données beaucoup :) Voici le code:

 var rvMain = new ReportViewer { 
      EnableViewState = true, 
      ProcessingMode = ProcessingMode.Remote, 
      ShowRefreshButton = false, 
      AsyncRendering = true, 
      ShowCredentialPrompts = false, 
      ShowDocumentMapButton = true, 
      DocumentMapCollapsed = true, 
     }; 
     rvMain.ServerReport.DisplayName = displayName; 
     rvMain.ServerReport.ReportPath = reportPath; 
     rvMain.ServerReport.Timeout = 30000; 

J'ai regardé beaucoup d'autres messages sur différents délais d'attente. Cependant, cela SE PASSE SEULEMENT LORS DU TRI, et seulement sur les grands ensembles de résultats. Toute suggestion serait appréciée!! MISE À JOUR: Le tri ne prend pas fin lorsque le tri est effectué sur le rapport exécuté directement dans le site Web du Gestionnaire de rapports SQL.

Répondre

2

On dirait que nous nous sommes mis dans celui-ci. Nous avons implémenté IReportServerConnection2 1 parce que nous n'utilisons pas l'état de session et que nous voulions contrôler les informations d'identification utilisées pour se connecter au Reporting Service. Dans cette implémentation d'interface, nous avions une valeur par défaut inhabituelle de 2000 ms. Ainsi, lors de l'aller-retour qui se produit avec le tri interactif, il utilisait cette valeur par défaut au lieu de la valeur définie lors de la création initiale de ReportViewer. Évidemment, augmenter la valeur de Timeout dans l'implémentation de IReportServerConnection2 l'a corrigé.

Questions connexes