WindowsService для ведения логов - C#
Формулировка задачи:
Добрый день..
у меня вот такая проблема я написал сервис который должен писать лог через домустим минуту. вот текст программы:
так вот когда я в VS2005 пошагово запускаю всё нормально работает-пишется лог, а когда уже инсталирую как сервис и запускаю то таймер наотрез отказывается работать и лог не пишеться.....
Помогите кто может, я уже не могу решить эту проблему 3 дня, облазил много форумов но
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.ServiceProcess; using System.Text; using System.Windows.Forms; 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 timer1_Tick(object sender, EventArgs e) { fAddErorTextInLog(); } public static void fAddErorTextInLog() { if (!File.Exists(@"C:ThisError.log")) { File.Create(@"C:ThisError.log"); } StreamWriter ST = new StreamWriter(@"C:ThisError.log", true); ST.WriteLine(DateTime.Now); ST.Close(); } } }
Решение задачи: «WindowsService для ведения логов»
textual
Листинг программы
using System; using System.ServiceProcess; using System.IO; using System.Threading; namespace WindowsService1 { public partial class Service1 : ServiceBase { Timer myTimer; AutoResetEvent autoEvent; TimerCallback timerHandler; public Service1() { InitializeComponent(); autoEvent = new AutoResetEvent(false); timerHandler = new TimerCallback(myTimer_tick); } protected override void OnStart(string[] args) { myTimer = new Timer(timerHandler, autoEvent, 1000, (10*1000)); } protected override void OnStop() { myTimer.Dispose(); } private void myTimer_tick(object state) { fAddErorTextInLog(); } private static void fAddErorTextInLog() { using (StreamWriter ST = new StreamWriter(@"C:ThisError.log", true)) { ST.WriteLine(DateTime.Now); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д