Когда вы вызываете File.Open
для получения потока, используете ли вы перегрузку, которая позволяет вам указать FileAccess
?
http://msdn.microsoft.com/en-us/library/y973b725.aspx
Обратите внимание на параметры:
public static FileStream Open(
string path,
FileMode mode,
FileAccess access,
FileShare share
)
Вы можете передать FileAccess.Read
третьему параметру, чтобы указать, что вам нужен только доступ только для чтения. Вам также следует установить FileShare.Read
, чтобы другие могли открывать файл только для чтения, а не блокировать его самостоятельно. Обратите внимание, что если MS Excel открывает файл с FileShare.None, вы, вероятно, не сможете получить к нему доступ.