unção de download falhando com tamanhos grandes de arqui

Oi minha função de download.

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();
}

Ao lidar com tamanho de arquivo de 20, 200mb, não há problem

Ao manipular um arquivo de 1 gb, uma exceção é lançada:

Excesso ou insuficiência na operação aritmétic

Description: Ocorreu uma exceção não tratada durante a execução da solicitação da web atual. Revise o rastreamento de pilha para obter mais informações sobre o erro e onde ele se originou no códig

Detalhes da exceção: System.ArithmeticException: Estouro ou subfluxo na operação aritmétic

O que fazer

questionAnswers(2)

yourAnswerToTheQuestion