2013-11-04 50 views
0

您好我有一個C#Windows服務安裝在服務器上。如何知道什麼時候在網絡文件夾上創建文件

另一方面,服務啓動一個計時器,該計時器將從網絡文件夾中讀取文件。

我的客戶要求在網絡文件夾上創建一個固定長度的文件,然後他們有一個過程,它會對文件做一些事情,如果成功,文件被刪除,但如果發生錯誤,同一個文件但擴展名爲.err。

我知道有Windows API可以在每次創建文件時觸發一個事件,問題是該文件夾不在服務運行的同一臺服務器上。

這可能嗎?將文件夾映射到服務器將會訣竅?

+1

你爲什麼不嘗試呢? –

+0

使用通過.NET Framework提供的'FileSystemWatcher'可能會更好,而不是利用Windows API。 –

+0

我想你在說API時正在討論filesystemwatcher。您需要它在UNC路徑上運行。看看這篇文章http://stackoverflow.com/questions/960318/filesystemwatcher-fails-to-access-network-drive – Bearcat9425

回答

0

.NET中的FileSystemWatcher類將使用適當的Windows更改通知API,SMB 2.0 protocol支持通過Windows更改通知API傳遞的更改通知。因此,如果遠程服務器支持SMB 2.0(Windows Server 2008或更高版本,Unix主機運行Samba 3),那麼FileSystemWatcher類應該可以做到。

相關問題