2011-11-21 62 views
2

当同时发出的请求尝试访问同一图像文件时,读取图像的最佳方式是什么?读取没有独占锁定的文件

基本上我在asp.net中创建了tiff查看器。它显示所有tiff页面的缩略图,点击下面的完整图片。但是当我尝试阅读大的tiff文件(40+ MB)时,出现了一些缩略图和一些拒绝访问的错误。我希望我清楚地解释这个问题。

回答

2

你应该以这种方式打开流:在这种方式打开用于读取和其它进程将能够读取该文件,以及只有一个过程,不是你的

using (Stream s = new FileStream(fullFilePath, 
           FileMode.Open, 
           FileAccess.Read, 
           FileShare.ReadWrite)) 
{ 
    // here use the stream s 
} 

,最终可能获取写权。

请看这里以及:How do I open an already opened file with a .net StreamReader?

+0

嗯,我只想读取文件。我不应该使用FileShare.Read而不是FileShare.ReadWrite?顺便说一句,我认为FileStream首先加载整个文件到内存中,然后执行操作,不是吗?只有权限才能提高效率吗? –