Ich schrieb einen Windows-Dienst, der meine Klasse Bibliothek alle 15 Minuten Intervall wird die Klasse ausführen.Windows-Dienst wirkt zwei verschiedene Weise auf der Maschine
Es funktioniert gut, wenn ich den Windows-Dienst in meinem Computer bereitgestellt, funktioniert der Timer gut und alle 15 Minuten ruft es meine Klassenbibliothek, aber wenn ich auf meinem Server bereitgestellt wird, funktioniert es nur auf onstart, nachdem es die nicht erhöht Timer oder alle 15 Minuten nehme meine Klasse lib, leite mich bitte jemand geschieht nicht zu nennen, was hier wohl zu meinen Code
public partial class Service1 : ServiceBase
{
private Timer _timer;
private DateTime _lastRun = DateTime.Now;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
log4net.Config.XmlConfigurator.Configure();
_timer = new Timer(10 * 60 * 1000); // every 10 minutes
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
Shell Distribute= new Shell();
Distribute.Distribute();
_timer.start();//this line was missed in my original code
}
protected override void OnStop()
{
this.ExitCode = 0;
base.OnStop();
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//if (_lastRun.Date < DateTime.Now.Date)
//{
try
{
_timer.Stop();
Shell Distribute= new Shell();
Distribute.Distribute();
}
catch(exception ex)
{}
finally
{
_timer.Start();
}
//}
}
}
}
ich zu Fragen, das Problem
hier zu identifizieren stark log glauben bin mir aber aus zwei gründen nicht sicher, ob ich diesen service in meinem testserver mit dem gleichen konto starten oder neustarten kann, funktioniert aber gut Nur der Timer funktioniert nicht. Der Code ist genau das gleiche, also mache ich mir keine Gedanken über meinen Code bcoz es funktioniert Timer in meinem lokalen Rechner mit dem gleichen Konto basiert. Vielen Dank im Voraus.
Schauen Sie sich Ratschläge zu dieser Frage http://stackoverflow.com/questions/397744/net-windows-service-with-timer-stops-responding – Nikolay
Blick Ereignisanzeige für mögliche Fehlerprotokolle. –
@ Özgür Kara, das erste, was ich getan habe, ist die evenvwr überprüft, aber es hat keine Informationen über meinen Service, alles, was ich in "Application" log sehen kann, wenn der Service beginnt. – Usher