DCSIMG
עבודה עם Services ו - Console Application - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

עבודה עם Services ו - Console Application

 

הרבה פעמים כשאנחנו עובדים עם Services ה - host שלהם הוא Windows Service, מה שמתסכל לעבוד בצורה הזאת זה שבזמן פיתוח כדי לדבג צריך כל פעם לעשות Attach to process ובכל קומפילציה צריך לעצור את ה - Serivce ולהפעיל אותו מחדש אחרי הקופמילציה (מה שלוקח קצת זמן).
 
אני משתמש ברעיון מעניין (נדמה לי שזה שייך לאלכס מחברת QualiSystems)
 
נוסיף למחלקה שיורשת מ - 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.
 
וכעת אפשר פשוט להריץ כמה פרוייקטים במקביל בזמן פיתוח ולעבוד בצורה פשוטה.

תוכן התגובה

משה כתב/ה:

אהבתי!

# January 19, 2010 3:21 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 5 and 6 and type the answer here:


Enter the numbers above: