Служба Windows для загрузки на S3 - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть служба Windows, которая отслеживает папку для новых файлов, а затем отправляет ее в S3 Bucket для обработки. Служба работает для первого файла, но затем я получаю это исключение для любых файлов после этого.

Сообщение: «Процесс не может получить доступ к файлу« C: \ PDFs \ sample-2.pdf », поскольку он используется другим процессом». при написании объекта

Вот часть кода для загрузки:

 private static async Task UploadFileAsync()
    {
        try
        {
            var fileTransferUtility = new TransferUtility(s3Client);

            //await fileTransferUtility.UploadAsync(filePath, bucketName);

            Log.WriteLine("FilePath: " + filePath);

            using (var fileToUpload = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                await fileTransferUtility.UploadAsync(fileToUpload, bucketName, fileToUpload.Name);
            }

            Log.WriteLine("File uploaded: " + filePath);
        }
        catch (AmazonS3Exception e)
        {
            Log.WriteLine("Error encountered on server. Message: '"+ e.Message +"' when writing an object");
        }
        catch (Exception e)
        {
            Log.WriteLine("Unknown encountered on pc. Message: '" + e.Message + "' when writing an object");
        }
    }

Первоначально для fileMode было установлено значение Read, а для доступа к файлу также установлено значение Read.

Есть какие-нибудь подсказки?

...