No hay escasez de preguntas sobre este tema, pero sigo teniendo problemas. Aquí está mi situación. Tengo un servicio que necesito para ver una ruta que se especifica en el archivo de configuración. Funciona muy bien cuando utilicé un disco local.FileSystemWatcher para ver la ruta UNC
Sin embargo, cuando lo cambio a algo así como \\server2\secondary\temp\watch_folder
, el servicio no se inicia. El error en el registro es
El nombre del directorio \\ server2 \ secondary \ temp \ watch_folder no es válido.
Si copio que directamente en el Explorador de Windows la carpeta se abre bien. Si tomo mi código y lo pego en una aplicación antigua de Winforms, funciona bien. He probado todas las cuentas de "Iniciar sesión como". Lo configuré para usar la cuenta de administrador, pero aún no hay dados.
Aquí está mi código:
_watcher = new FileSystemWatcher();
_watcher.Path = ConfigurationManager.AppSettings["WatchFolder"];
_watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName;
_watcher.Filter = "*.txt";
_watcher.Created += new FileSystemEventHandler(OnCreated);
_watcher.Error += new ErrorEventHandler(OnError);
_watcher.EnableRaisingEvents = true;
¿Alguna idea? Estoy perdido y en este momento creo que lo he estado mirando demasiado tiempo. Agradezco sinceramente cualquier ayuda.
Gracias, Nick
EDITAR Aquí es la excepción:
servicio no se puede iniciar. System.ArgumentException: el nombre de directorio \ server2 \ Secondary \ temp \ watch_folder no es válido.
en System.IO.FileSystemWatcher.set_Path (valor String)
en FileWatcher.FileWatcher.Watch()
en FileWatcher.FileWatcher.OnStart (String [] args)
en System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback (Object estado)
¿Quiere decir que se ha resuelto el problema? –
No, el problema no ha sido resuelto. Todavía no puedo comenzar el servicio. – nickfinity
¿Recibes algún error de excepción? ¿Sabes cómo depurar un servicio de Windows? Cualquier información sobre los errores ayuda. –