SAP Crystal Reports for Visual Studio – PrintJobLimit Issue

Crystal reports kurulumuyla birlikte gelen regedit üzerinde default değerler vardır,örneğin PrintJobLimit değeri cr’nin admin tarafından set edilen max döküman işleme limitidir.

Bu değer standart olarak 25 ile 75 arasında olmalıdır.Sınırsız limit vermek için -1 değeri vermekten söz eden forum siteleri mevcuttur ama bunu önermiyorum çünkü bir süre sonra memory leak durumu ile karşı karşıya kalabilirsiniz.Crystal reports nesneleri Load fonksiyonu her işlediği rpt dökümanını temp klasöründe saklar,belli periyotlarla bu dosyaları temp klasöründen silmeniz size performans kazandıracaktır.

.Net-Crystal Reports ile çalışırken en önemli konulardan biri memory optimizasyonudur.Eğer kullandığınız her nesneyi ve açtığınız her database bağlantısını işiniz bittikten sonra close/dispose etmezseniz başınız belada demektir.Çünkü bu nesneler ram üzerinde çok cömertçe yer işgal edebiliyor.Bu sorunun çözümü için:

Örnek bir kod:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using CrystalDecisions;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;

namespace Test.Utilities
{
public class ReportFactory
{
protected static Queue reportQueue = new Queue();

protected static ReportClass CreateReport(Type reportClass)
{
object report = Activator.CreateInstance(reportClass);
reportQueue.Enqueue(report);
return (ReportClass)report;
}

public static ReportClass GetReport(Type reportClass)
{
//75 is my print job limit.
if (reportQueue.Count > 75) ((ReportClass)reportQueue.Dequeue()).Dispose();
return CreateReport(reportClass);
}
}
}

Sonra PrintJobLimit değerinizi kontrol ediniz.

Crystal Reports 10.0.x
HKEY_LOCAL_MACHINESOFTWARECrystal Decisions10.0Report Application Server InprocServerPrintJobLimit

Crystal Reports 10.2 (Visual Studio .NET 2005 bundle)
HKEY_LOCAL_MACHINESOFTWARECrystal Decisions10.2Report Application Server InprocServerPrintJobLimit

Crystal Reports Basic for Visual Studio 2008 (Visual Studio .NET 2008 bundle)
HKEY_LOCAL_MACHINESOFTWAREBusiness Objects10.5report Application serverInProcServer PrintJobLimitPrintJobLimit

Crystal Reports XI Release 1 (11.0.x)
HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 11.0Report Application ServerInprocServerPrintJobLimit

Crystal Reports XI Release 2 (11.5.x)
HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 11.5Report Application ServerInprocServerPrintJobLimit

Crystal Reports 2008 (12.x.x)
HKEY_LOCAL_MACHINESOFTWAREBusiness ObjectsSuite 12.0Report Application ServerInprocServerPrintJobLimit

Leave a reply:

Your email address will not be published.