2011-10-27 48 views
0

我有一個ftp服務器作爲公共文件存儲庫。 A-app可以將文件上傳到服務器,B-app可以從服務器下載文件。如果B-app嘗試下載A-app正在上傳的文件,則文件長度將不正確。 我想在上載完成之前鎖定上傳的文件以阻止下載應用程序。任何人都可以幫助我?併發下載和上傳帶來長度錯誤(.Net到FTP)。

我正在開發.NetFramework。

回答

0

如果你正在編寫這兩個應用程序,你可以用任何你想要的方式來完成。

您可以讓上傳應用程序將文件寫入臨時區域,並且只有在文件完成時纔將它們移動到下載應用程序訪問的區域。您可以創建存儲在文本文件中的鎖定文件的共享表。您可以使用您的平臺的文件鎖定。

你可以做到這一點,無論你想 - 只是代碼你想要的。

0

在你的服務器上,當一個文件被上傳後,您可以創建文件流這樣:

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

術語FileShare.None將防止別的,包括你sofware,從打開的文件,直到localFile.Close()或調用localFile.Dispose()。如果有人試圖在文件關閉之前下載文件,則會拋出異常。

+0

很鬱悶上傳應用程序可能是各種各樣的 - ThirdParty客戶端或某人的服務,例如。我只能控制我的下載應用程序。我想要下載應用程序檢查文件的修改日期,是否可行? –