Melhor maneira de ler um arquivo grande em uma matriz de bytes em c #?
Eu tenho um servidor web que irá ler arquivos binários grandes (vários megabytes) em matrizes de bytes. O servidor pode estar lendo vários arquivos ao mesmo tempo (solicitações de páginas diferentes), então estou procurando a maneira mais otimizada de fazer isso sem sobrecarregar muito o CPU. O código abaixo é bom o suficiente?
public byte[] FileToByteArray(string fileName)
{
byte[] buff = null;
FileStream fs = new FileStream(fileName,
FileMode.Open,
FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
long numBytes = new FileInfo(fileName).Length;
buff = br.ReadBytes((int) numBytes);
return buff;
}