Merge pull request #96 from arubenis/master

Prevent the upload of the same file multiple times if it's already opened
This commit is contained in:
Tomek Melissa 2019-12-18 12:46:44 +01:00 коммит произвёл GitHub
Родитель 11fc8a6058 6ee0fc5a13
Коммит 8ae902d869
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 14 добавлений и 8 удалений

Просмотреть файл

@ -34,16 +34,22 @@ namespace RecurringIntegrationsScheduler.Common.Helpers
/// </summary>
/// <param name="filePath">File path</param>
/// <returns>Stream</returns>
public static Stream Read(string filePath)
public static Stream Read(string filePath, FileShare fileShare = FileShare.ReadWrite)
{
if (File.Exists(filePath))
{
return new FileStream(filePath,
FileMode.Open,
FileAccess.ReadWrite,
FileShare.ReadWrite,
4096,
true);
try
{
return new FileStream(filePath,
FileMode.Open,
FileAccess.ReadWrite,
fileShare,
4096,
true);
}
catch (IOException)
{
}
}
return null;
}

Просмотреть файл

@ -194,7 +194,7 @@ namespace RecurringIntegrationsScheduler.Job
}
fileCount++;
var sourceStream = _retryPolicyForIo.Execute(() => FileOperationsHelper.Read(dataMessage.FullPath));
var sourceStream = _retryPolicyForIo.Execute(() => FileOperationsHelper.Read(dataMessage.FullPath, FileShare.None));
if (sourceStream == null) continue;//Nothing to do here
sourceStream.Seek(0, SeekOrigin.Begin);