Erreur lors de l'écriture dans le journal des événements, empêche windows de service de départ?
J'utilise le code suivant pour créer un journal des événements personnalisés dans mon windows de l'application de service:
public ServiceConstructor()
{
InitializeComponent();
if (!EventLog.SourceExists("WinService"))
{
EventLog.CreateEventSource("WinService", "WinServiceLog");
eventLog1.Source = "WinService";
eventLog1.Log = "WinServiceLog";
}
}
protected override void OnStart(string[] args)
{
eventLog1.WriteEntry("Started");
}
Après l'installation du service.msi, quand j'ai commencé à le service, il a commencé puis arrêté. Ensuite, j'ai trouvé l'erreur suivante dans EventViewer windows journal de la section:
Service ne peut pas être démarré.
Système.ArgumentException: propriété de la Source n'a pas été fixée avant d'écrire
dans le journal des événements.
at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
at System.Diagnostics.EventLog.WriteEntry(String message)
at WinService.Service.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
OriginalL'auteur Harun | 2010-11-23
Vous devez vous connecter pour publier un commentaire.
Si la source existe déjà, il semble que vous n'avez pas initialiser eventLog1.Source.
Vous suggère de passer le code d'initialisation de Démarrage et de sortie de l'constructeur.
Et de déplacer ces deux lignes de l'instruction if:
OriginalL'auteur Ian Mercer
Essayez ce qui suit:
EventLog.CreateEventSource("WinService", "Application");
eventLog1.Log = "Application";
Aussi mettre ce qui suit dans OnStart:
eventLog1.Log="Application"
eventLog1.Source = "WinService";
OriginalL'auteur basarat