2011-07-17 23 views
6

Eşlenen ağ sürücüsünü izlemek için FSW uygularken göz önünde bulundurmanız gereken özel izinler (izinler dışında) var mı? Sürücü bağlantıyı kaybederse FSW bir istisna atar mı? Eğer değilse (ya da sadece bu özel durumla ilgilenir/tutarsam), DirectoryInfo.Exists özelliğini bağlantıya vermemek için yeterli olur mu?Eşlenen ağ sürücüsündeki FileSystemWatcher

cevap

6

Eh, ağdaki başka bir bilgisayarda bulunan bir paylaşılan klasörü izlemek için FileSystemWatcher kullanılır ve burada benim deneyim var:

  1. Sen File.Exists veya Folder.Exists yoluyla bağlantısını kontrol edebilirsiniz.
  2. FileSystemWatcher, bu paylaşılan klasöre bağlantıyı kaybederseniz bir istisna atar. Bunun yerine, bağlantı kaybolduğunda şu hata iletisini alırsınız: "Belirtilen ağ adı artık kullanılabilir değil". O hatayı aldığınızda, FSW artık Bağlantı yeniden olsa bile herhangi bir veri işlemek, böylece FileSystemWatcher.Error olayı işlemek ve hata kaldırılırken, yine true için EnableRaisingEvents sıfırlamak veya yeniden başlatmak olacaktır ben karşılaştım FSW
+3

Ben kullandığım bir FSW ile aynı sorun. Ancak, en azından .NET 4 ile, paylaşımın geri gelmesinden sonra yapılması gereken tek şey, 'EnableRaisingEvents '' false '(aslında bunu FSW_Error işleyicisinde yaptı) ve sonra paylaşım geri döndüğünde ayarlamaktı. EnableRaisingEvents '' true '. Olayları tekrar almaya başladı. – Jim

+0

Bilmekte fayda var, bu daha çok yeniden başlatılsın :) –

İlgili konular