O FileShare.None faz com que os threads esperem até o fluxo de arquivos ser fechado?
Ao usar um fluxo de arquivos e definirFileShare
paraNone
e digamos que dois usuários que acessam a mesma função ao mesmo tempo desejam ler / gravar nesse arquivo. VaiFileShare.None
fazer com que o segundo usuário solicite a espera ou o pedido do segundo usuário lançará uma exceção?
//two users get to this this code at the same time
using (FileStream filestream = new FileStream(chosenFile, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None))
using (StreamReader sr = new StreamReader(filestream))
using (StreamWriter sw = new StreamWriter(filestream))
{
//reading and writing to file
}
Msdn diz: Nenhum Recusa o compartilhamento do arquivo atual. Qualquer solicitação para abrir o arquivo (por esse processo ou outro processo) falhará até que o arquivo seja fechado.
Mas as solicitações continuarão tentando até que o fluxo de arquivos seja fechado?