PDA

View Full Version : ساخت یک windows service ساده



amirjalili
شنبه 22 خرداد 1389, 13:36 عصر
سلام.
من میخوام یک سرویس ویندوزی درست کنم که تا وقتی start هست هر 10 ثانیه تو یه فایل مثلا بنویسه "سلام".
مشکل فقط اینجاست که این کار رو باید در کدوم متد انجام بدم.
onstart,oncontinue ,main یا چی.....؟؟؟؟؟؟؟
onstart که خوب به نظر میرسه فقط یکبار اجرا میشه اونم وقتی که سرویس start بشه.بعد وقتی start شد دیگه تمومه.دیگه کاری در این متد انجام نمیشه.
ممنون

amirjalili
شنبه 22 خرداد 1389, 16:25 عصر
پاسخ:

این نمونه کدی هست که نوشتم.برای این کار باید در onstart یک timer تعریف کرد. این تایمر در زمان run بودن برنامه هر چند ثانیه یک تابع رو صدا میکنه.



protected override void OnStart(string[] args)
{
System.Threading.TimerCallback tc = new System.Threading.TimerCallback(DisplayValue);
System.Threading.Timer t = new System.Threading.Timer(tc, null, 1000, 2000);

}

static void DisplayValue(object o)
{
FileStream fs = new FileStream(@"c:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("salam"); m_streamWriter.Flush();
m_streamWriter.Close();

}