עבודה עם Services ו - Console Application
הרבה פעמים כשאנחנו עובדים עם Services ה - host שלהם הוא Windows Service, מה שמתסכל לעבוד בצורה הזאת זה שבזמן פיתוח כדי לדבג צריך כל פעם לעשות Attach to process ובכל קומפילציה צריך לעצור את ה - Serivce ולהפעיל אותו מחדש אחרי הקופמילציה (מה שלוקח קצת זמן).
נוסיף למחלקה שיורשת מ - ServiceBase את המתודת הבאות
public void Open()
{
OnStart(null);
}
public void Close()
{
OnStop();
}
כעת ב - Main נכתוב את הקוד הבא
bool console = args.Length > 0 && args[0] == "console";
var service = new MyService();
if (!console)
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
service
};
ServiceBase.Run(ServicesToRun);
}
else
{
service.Open();
Console.WriteLine("Service is running...");
Console.ReadKey();
service.Close();
Console.WriteLine("ervice is stoped");
}
מה שנשאר זה ב - Command Line Arguments במאפיינים של הפרוייקט בטאב Debug לכתוב console.
וכעת אפשר פשוט להריץ כמה פרוייקטים במקביל בזמן פיתוח ולעבוד בצורה פשוטה.