Liberar memoria despues de crear pagos en SAP

Buenos días a todos.

Estoy realizando una aplicación externa que genera pagos masivamente, al principio genera al rededor de 1 pago por segundo pero despues del pago numero 5 mil se empieza a alentar la carga de pagos, generando 1 pago cada 2 o 3 segundos, saben como liberar memoria de la aplicación?

Esto es lo que estoy usando con un finally despues de cada pago para liberar recursos:

 GC.SuppressFinalize(oPagos);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oPagos);
oPagos = null;
GC.SuppressFinalize(_oRecordset);
System.Runtime.InteropServices.Marshal.ReleaseComObject(_oRecordset);
_oRecordset= null;
GC.Collect();

Espero y me puedan ayudar gracias. Buen dia

@jubilo08, deduzco que este tema es de SBO, por eso moví tu consulta a la parte de #consultas-sap:sap-business-one … por favor procura enviar tu consulta a la sección correcta, y presentarte, veo que no tienes tema en #presentaciones :pray:

1 me gusta

Te lo agradezco soy nuevo en esto

1 me gusta

Prueba este metodo

    Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean
    Public Sub ClearMemory()
        Try
            Dim Mem As Process
            Mem = Process.GetCurrentProcess()
            SetProcessWorkingSetSize(Mem.Handle, -1, -1)

        Catch ex As Exception
            'Control de errores
        End Try

Luego lo invocas como
ClearMemory()

Saludos

2 Me gusta

Gracias felipe.loyola sirvio a la perfeccion.

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.