Je suis un débutant dans C# .net et j'essaye d'obtenir un service de Windows fonctionne. J'ai suivi ce tutorielWindows Service lance une erreur
http://www.beansoftware.com/NET-Tutorials/Create-Windows-Services.aspx
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
private void FolderWatcherTest_Created(object sender, System.IO.FileSystemEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been created. ");
writer.Close();
}
private void FolderWatcherTest_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been deleted. ");
writer.Close();
}
private void FolderWatcherTest_Renamed(object sender, System.IO.RenamedEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been renamed. ");
writer.Close();
}
}
}
J'ai été en mesure d'obtenir le service enregistré dans le service Windows. Mais quand j'essaie de le démarrer, il me donne une erreur 2: Le système ne peut pas trouver le fichier spécifié
Je ne suis pas sûr de ce qui se passe. Aussi je suis un peu confus où ces méthodes sont appelées comme tutoriel na pas faire référence à ces méthodes
private void FolderWatcherTest_Created(object sender, System.IO.FileSystemEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been created. ");
writer.Close();
}
private void FolderWatcherTest_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been deleted. ");
writer.Close();
}
private void FolderWatcherTest_Renamed(object sender, System.IO.RenamedEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been renamed. ");
writer.Close();
}
Merci pour votre aide
Update1
ok j'ai pu enregistrer le un service. Je courais le .exe pour installer en tant que service à partir d'un dossier différent où les fichiers de projet étaient. Mais maintenant, il s'enregistre bien. Cependant, je ne suis pas en mesure de déclencher ces méthodes privées FolderWatcherTest_ * . Ils sont censés enregistrer les modifications lorsque je change le nom du fichier sur le bureau. Toute aide sera appréciée
grâce
Je viens d'écrire un service Windows, et j'ai trouvé que l'ajout de 'Debugger.Break();' était une aubaine. Cette ligne fera apparaître VS afin que vous puissiez le déboguer. – Iain
@lian: Le service Windows peut être débogué comme le programme normal. –