I ran into a timeout exception, when using OpenFileBinaryDirect, to download files from Sharepoint.
The solution was to put the fileinfo object into a using statement.
using (var fileInfo = File.OpenBinaryDirect(_context, relativeUrl))
{
if (Directory.Exists(targetDirectory))
{
targetDirectory = Path.Combine(targetDirectory,
Path.GetFileName(new Uri(relativeUrl).LocalPath));
}
using (Stream destination = System.IO.File.Create(targetDirectory))
{
for (var a = fileInfo.Stream.ReadByte(); a != -1; a = fileInfo.Stream.ReadByte())
destination.WriteByte((byte)a);
}
}
It seems that without proper disposing the object, you run into some sort of connection limit. It put the code also on Stackoverflow.
