0
這個問題時避免蕙是一個跟進 Efficient way to transfer many binary files into SQL Server database閱讀二進制
本來我問爲什麼用File.ReadAllBytes
是導致快速的內存使用,它是使用得出的結論是法提上了大對象堆的數據,在運行期間不容易回收。
我現在的問題是如何避免這種情況?
using (var fs = new FileStream(path, FileMode.Open))
{
using (var ms = new MemoryStream())
{
byte[] buffer = new byte[2048];
int bytesRead;
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, bytesRead);
}
return new CustomFile { FileValue = ms.ToArray() };
}
}
下面的代碼的目的是通過在塊,而不是所有的閱讀文件一下子得到解決此問題,但它似乎有同樣的問題。
我們在SQL 2008 R2中使用Nhibernate,我不確定可以直接保存一個流。 – user1838662