Bien que je comprenne cette question est assez vague puisque je ne vous donne pas autant de détails que je le voudrais, j'espère des améliorations générales qui peuvent être fait à mon code de génération ou les rapports eux-mêmes pour les accélérer. J'ai demandé plus de matériel, mais j'ai été refusé.Quels sont les moyens génériques de rendre les services de reporting plus rapides?
public Stream GenerateReport(string reportName, string format)
{
if (reportName == null)
throw new ArgumentNullException("reportName");
reportExecutionService.LoadReport(reportName, null);
string extension;
string encoding;
string mimeType;
ReportExecution2005.Warning[] warnings;
string[] streamIDs;
byte[] results = reportExecutionService.Render(format, null, out extension,
out encoding, out mimeType, out warnings, out streamIDs);
return new MemoryStream(results);
}
Les rapports eux-mêmes prennent 6 à 10 secondes chacun. J'ai réduit le goulot d'étranglement à Reporting Services lui-même. Où dois-je commencer à chercher à éliminer les goulets d'étranglement potentiels de vitesse. Note: du code a été retiré pour protéger les innocents.
Accent mis sur # 3. C'est l'un des changements les plus faciles. –
Tous les excellents endroits pour commencer, et toutes les considérations de conception. – RobS
J'utilise deux solutions concurrentes pour générer des rapports. Ils produisent les mêmes résultats, mais un système prend environ 0,01 secondes et les services de création de rapports prennent 0,2 seconde à remplir pour mon rapport de test simple. –