Ciao a tutti,
ho sviluppato un applicazione in ASP.NET con l'utilizzo di crystal report.
Ricevo il seguente messaggio di errore durante la generazione del report
"E' stato raggiunto il limite massimo per i processi di elaborazione dei report configurato dall'amm. di sistema "
Ho riscontrato che questo limite è di 75 generazioni, quando cerco di generare il 76esimo report mi genera quell'errore.
L'applicazione è installata su un windows server 2012 Standard, ho configurato un webapplication su
IIS e ci sono vari client che si collegano. (non lavora in internet, lo utilizzano solo all'interno di una rete intranet).

Se riavvio il client questo errore non si genera più, fino a quando non raggiungo di nuovo il limite.
E' capitato che dopo la 4° volta che è stato raggiunto il limite, anche se riavviavo il client, non si sbloccava, ed erano bloccati tutti i client e non soltanto quello che aveva ricevuto l'errore.
Per risolvere il problema ho dovuto riavviare il server.

Vi riporto il codice utilizzato per estrarre i dati dal db ms sql 2014 express e generare il report.

codice:

Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine


Partial Class Report_fattura_vendita
    Inherits System.Web.UI.Page

    Dim sql As String
    Dim crystalReport As New ReportDocument()

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Request.QueryString("id") <> "" Then
            ID_FATTURA.Value = Request.QueryString("id")
            



            crystalReport.Load(Server.MapPath("~/report/fattura_vendita.rpt"))
         
            sql = "SELECT ********************** FROM ****** WHERE ******"


            Dim dsDettaglio As DataSet1 = GetData(sql)

            crystalReport.Database.Tables(0).SetDataSource(dsDettaglio)

            CrystalReportViewer1.ReportSource = crystalReport

        End If

    End Sub

    Private Function GetData(ByVal query As String) As DataSet1
        Dim conString As String = ConfigurationManager.ConnectionStrings("dbConnectionString").ConnectionString
        Dim cmd As New SqlCommand(query)
        Using con As New SqlConnection(conString)
            Using sda As New SqlDataAdapter()
                cmd.Connection = con
                sda.SelectCommand = cmd
                Using dsCustomers As New DataSet1()
                    sda.Fill(dsCustomers, "DT_Fattura_vendita")
                    Return dsCustomers
                End Using
            End Using
        End Using
    End Function

    Private Function GetData2(ByVal query As String) As DataSet1
        Dim conString As String = ConfigurationManager.ConnectionStrings("dbConnectionString").ConnectionString
        Dim cmd As New SqlCommand(query)
        Using con As New SqlConnection(conString)
            Using sda As New SqlDataAdapter()
                cmd.Connection = con
                sda.SelectCommand = cmd
                Using dsCustomers2 As New DataSet1()
                    sda.Fill(dsCustomers2, "dettaglio_fatt")
                    Return dsCustomers2
                End Using
            End Using
        End Using
    End Function

    Protected Sub CrystalReportViewer1_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles CrystalReportViewer1.Unload
        crystalReport.Close()
        crystalReport.Dispose()
    End Sub

End Class

Ho provato a cercare su internet ma non sono riuscito a trovare una vera risoluzione al problema!
Ho letto l'articolo dove dicevano di cambiare il valore di una chiave di registro che era settata a 75, l'ho fatto ma non ha funzionato.

Avevo trovato anche una risposta su un forum della microsoft dove dicevano di inserire l'evento Unload del crystalreportviewer facendo il close e il dispose dell'oggetto, ma questo sembra non funzionare correttamente, mi spiego meglio:
Il report viene generato su una nuova scheda e loro chiudono questa scheda dalla X rossa in alto, mi viene il dubbio che facendo così l'evento unload non si verifica, è possibile? Quando ho fatto le prove non ho chiuso la finestra ma semplicemnte l'aggiornavo, e con queste due istruzioni non mi si bloccava più a 75 come prima...
Farò le verifiche in questi giorni ma dubito che queste due istruzioni mi risolvino il problema...

Se qualcuno sa cosa dovrei fare per aumentare il limite, oppure se non chiudo correttammente la connessione...

Grazie

Ciao