windows service ها صورتی از اسمبلی هستند که در سرویس های ویندوز قرار می گیرند
معمولا windows service برای منظور های خاصی طراحی می شود
نکته:windows service ، واسط کاربری ندارد یعنی هیچیشو نمی بینیم
بیشتر استفاده از windows service ها برای انجام کارها در زمانهای متناوب است.
windows service دارای متد های اصلی OnStart,OnStop است.
همانطور که از نام متد ها پیداست در OnStart ما رخدادهای در هنگام شروع سرویس را فراخوانی می کنیم و در OnStop مربوط به هنگام پایان سرویس.
بهتر است به تناسب رخدادهای موجود،در فایل متنی ، صورت کارهای انجام شده را بنویسیم تا از صحت کارکرد windows service مطمئن شویم.
برای نوشتن در فایل ، از متد یر استفاده می کنیم
void Write(string msg)
{
try
{
FileStream oFileStrim = new FileStream(@"c:\WS.txt", FileMode.OpenOrCreate, FileAccess.Write);
var oWriter = new StreamWriter(oFileStrim );
oWriter .BaseStream.Seek(0, SeekOrigin.End);
oWriter .Write(msg + "\n");
oWriter .Flush();
oWriter .Close();
}
catch
{
}
}
در OnStart مینویسیم
protected override void OnStart(string[] args)
{
Write("Service Is Start");
}
همچنین OnStop
protected override void OnStop()
{
Write("Service Is Stoped");
}
اکنون ما یک ویندوز سرویس ساده داریم البته برای کار کردن احتیاج به یک installer دارد که اگر دوستان خواستند توضیح بدهند
برای نصب کردن ویندوز سرویس باید بر روی ویندوز سرویس مورد نظر در solution explorer دبل کلیک کنیم و در پنجره properties روی add installer کلیک کنیم.الان ویندوز سرویس ما آماده نصب شدن است
در پوشه ای که ویژوال استودیو را نصب کردیم , command promp را انتخاب می کنیم و در آن دستور installUtil winservicePath را وارد می کنیم
سرویس اینستال گردید