Одновременная загрузка и выгрузка приводит к ошибке длины (.Net to FTP). - PullRequest
0 голосов
/ 27 октября 2011

У меня есть ftp-сервер, который выступает в качестве публичного хранилища файлов. A-приложение может загружать файл на сервер, а B-приложение может загружать файл с сервера. Если B-приложение попытается загрузить файл, загружаемый с помощью A-app, длина файла будет неправильной. Я хочу заблокировать файл для загрузки, чтобы заблокировать загрузку приложений до завершения загрузки. Кто-нибудь может мне помочь?

Я занимаюсь разработкой .NetFramework.

Ответы [ 2 ]

0 голосов
/ 27 октября 2011

На вашем сервере, когда файл загружается, вы можете создать поток файлов следующим образом:

FileStream localFile = new FileStream(Path, FileMode.Create, FileShare.None)

Термин FileShare.None запретит открытию файла что-либо еще, включая ваше программное обеспечение.пока не будет вызван localFile.Close() или localFile.Dispose().Если кто-то попытается загрузить файл до его закрытия, будет сгенерировано исключение.

0 голосов
/ 27 октября 2011

Если вы пишете оба приложения, вы можете делать это любым способом.

Вы можете сделать так, чтобы приложение загрузки записывало файлы в промежуточную область и перемещало их только в область, к которой приложение загрузки получает доступ, когдаэто сделано.Вы можете создать общую таблицу заблокированных файлов, хранящихся в текстовом файле.Вы можете использовать блокировку файлов на вашей платформе.

Вы можете делать это как хотите - просто кодируйте то, что хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...