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);
}
}
}
}