none
FileSystemWatcher vs Symbolic Links

    Dotaz

  • Dobry den,

    pokud povesim FileSystemWatcher na adresar, nastavim mu IncludeSubdirectories na true a pokud jsou podadresare tohoto hlidaneho adresare symlinky, souborove zmeny v target-adresarich techto symlinku negeneruji udalosti hlidane objektem FileSystemWatcher na nejvyssim adresari struktury.
    (Pokud povesim FSW primo na symlink-adresar, zmeny v target-adresarich jsou zaznamenany)

    Existuje, prosim, nejake nastaveni, nebo nejaky jiny zpusob, jak docilit toho, aby udalosti "prosly" az k FSW?

    Dekuji
    15. června 2009 8:28

Odpovědi

Všechny reakce

  • Dobrý den,

    nejsem si samozřejmě 100% jistý, ale vzhledem k tomu, že FSW využívá schopností OS a k tomu, jakým stylem fungují symbolické linky ve filesystému, pochybuji, že to co chcete lze docílit jinak než uděláním si vlastní komponenty, která v případě symbolických linků na podadresáře vytvoří další potřebné instance FSW a bude jejich eventy předávat dál.

    Celý problém podle mě spočívá v tom, že symbolický link jako takový nijak nereaguje na ZMĚNU svého cíle a tudíž ani FSW nemá na co reagovat. Pokud vytvoříte FSW přímo na symbolickém linku, je mu jasné kam ukazuje a to použije pro odchytávání událostí na úrovni file systému.

    To Vás asi moc nepotěšilo, ale možná v .NET budoucnosti bude vše jinak...

    Havetta
    18. června 2009 11:29
  • :) nepotesilo.

    "... v budoucnosti ...": obavam se, ze filosofie symlinku a FSW jsou tezko propojitelne. System by musel mit aktualni seznam vsech symlinku v dosazitelnem souborovem systemu zrizenych a pri jakekoliv souborove udalosti obecne hlidatelne FSW, by musel jit od vzniku udalosti nahoru po souborove strukture, zjistovat, jestli nektery ze symlinku na aktualni adresar ci soubor neukazuje, pokracovat od daneho symlinku opet vyse... uf

    v kazdem pripade diky za reakci :)
    2. července 2009 11:41
  • Ahoj,
    samotný FileSystemWatcher tak nefunguje a jediná cesta je přes navázené FSW na cíle symlinků, jak píše Tomáš.
    Příklad na to je tady: http://martinkunc.spaces.live.com/blog/cns!60515FD39EB2A86F!234.entry?&_c02_vws=1
    M
    11. července 2009 17:41