次のコードを使用して、大きなファイル (280Mb) を UNC パスからバイト配列に読み取ろうとしています。
public void ReadWholeArray(string fileName, byte[] data)
{
int offset = 0;
int remaining = data.Length;
log.Debug("ReadWholeArray");
FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
while (remaining > 0)
{
int read = stream.Read(data, offset, remaining);
if (read <= 0)
throw new EndOfStreamException
(String.Format("End of stream reached with {0} bytes left to read", remaining));
remaining -= read;
offset += read;
}
}
これは、次のエラーで爆発しています。
System.IO.IOException: Insufficient system resources exist to complete the requested
ローカル パスを使用してこれを実行すると、正常に動作します。私のテスト ケースでは、UNC パスは実際にはローカル ボックスを指しています。
ここで何が起こっているのですか?