ユーザーが大きなファイルをアップロードできるようにしようとしています。ファイルをアップロードする前に、ファイルをまとめたいと思います。各チャンクはC#オブジェクトである必要があります。その理由は、ロギングを目的としています。長い話ですが、各ファイルチャンクを表す実際のC#オブジェクトを作成する必要があります。とにかく、私は次のアプローチを試みています:
public static List<FileChunk> GetAllForFile(byte[] fileBytes)
{
List<FileChunk> chunks = new List<FileChunk>();
if (fileBytes.Length > 0)
{
FileChunk chunk = new FileChunk();
for (int i = 0; i < (fileBytes.Length / 512); i++)
{
chunk.Number = (i + 1);
chunk.Offset = (i * 512);
chunk.Bytes = fileBytes.Skip(chunk.Offset).Take(512).ToArray();
chunks.Add(chunk);
chunk = new FileChunk();
}
}
return chunks;
}
残念ながら、このアプローチは非常に遅いようです。チャンクごとにオブジェクトを作成しながら、パフォーマンスを向上させる方法を知っている人はいますか?
ありがとうございました