assíncrono / aguardar e abrir um FileStream?
Me deparei com a seguinte pergunta ao tentar determinar se eu estava usando oStream
métodos comoReadAsync
eCopyToAsync
corretamente:Sincronização de desempenho de leitura de arquivo C # 4.5 vs assíncrona
Nesta pergunta, li o seguinte na resposta aceita:
Mais notavelmente, seu teste "assíncrono" não usa E / S assíncrona; com fluxos de arquivos,você precisa explicitamente abri-las como assíncronas ou então está apenas realizando operações síncronas em um encadeamento em segundo plano.
Em seu código de E / S assíncrono, ele usava o seguinte para abrir oFileStream
'assincronamente':
var file = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, true)
Então, eu queria saber se você pretende usar métodos comoCopyToAsync
se você deve abrir o subjacenteFileStream
como mostrado acima ?, em vez de fazer algo simples como o seguinte:
File.Open(filename, FileMode.Open)
É assim que o exemplo na documentação real paraCopyToAsync
demonstra a abertura do subjacenteFileStream
: https://msdn.microsoft.com/en-us/library/hh159084(v=vs.110).aspx
Se não importa de que maneira o objeto subjacenteFileStream
é aberto, o que ouseAsync
parâmetro doFileStream
construtor fazer?