a función de descarga falla con archivos de gran tamañ

Hola mi función de descarga.

protected void downloadFunction(string fileName)
{
    string filePath = @"D:\SoftwareFiles\";
    LogMessageToFile("Download started " + filePath + fileName);
    byte[] array = File.ReadAllBytes(filePath + fileName);


    Response.Clear();
    Response.ContentType = "application/x-newton-compatible-pkg";
    Response.AppendHeader("Content-Disposition", 
                          "attachment;filename=" + fileName);

    Response.BinaryWrite(array);
    Response.End();
}

Cuando maneje un tamaño de archivo de 20, 200mb no hay problema.

Cuando se maneja un archivo de 1 gb, se genera una excepción:

Desbordamiento o desbordamiento en la operación aritmética.

Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

etalles de la excepción: System.ArithmeticException: desbordamiento o subflujo en la operación aritmética.

¿Qué hacer

Respuestas a la pregunta(2)

Su respuesta a la pregunta