2012-01-03 55 views
2

背景: 我們在Windows應用程序中使用SQLCE數據庫。有些用戶會選擇將這個數據庫存儲在網絡上,以方便用戶之間共享(而不是同時)。當數據庫在網絡驅動器上打開時,我們希望將數據庫複製到本地文件夾以獲得更好的性能,並在應用程序關閉時返回。原因是在某些網絡上,性能是不可接受的(是的,用戶不應該把數據庫放置在那裏,但它們是這樣做的)。如何檢測文件是否在網絡上?

我們目前的網絡文件檢測僅僅是使用DriveInfo和DriveType == DriveType.Network,但是它也捕獲映射到驅動器和其他類似場景(從用戶報告)的本地文件夾。有沒有更好的方法來真正檢測文件是否在網絡上,或者甚至更好的是任何一種慢速連接(後者可能需要對大文件進行某種度量讀數,而我們並不真正感興趣,所以我們會解決第一部分)? 我不認爲.Net直接支持這一點,但P/Invoke是一樣好。

在此先感謝。

+0

注意,網絡不一定等於慢連接,任何比本地存儲更快速等於連接(例如低檔閃存存儲可以比網絡鏈路量值慢的順序)。 – Piskvor 2012-01-03 09:25:39

+0

你可能想看看這個[link] [1]。 [1]:http://stackoverflow.com/questions/458363/determining-if-file-exists-using-c-sharp-and-resolving-unc-path – TambaySaPinas 2012-01-03 09:46:22

+0

好,網絡連接可以是速度快,但通常情況並非如此,這不是我們的用戶報告的內容。如果我們能夠迎合大多數用戶,我們很高興,如果我們能夠找到一種更好的方式來確定文件何時駐留在「真實」網絡上,我們認爲這是可能的。 – rebel 2012-01-03 11:20:18

回答

相關問題