आप हमेशा एक सेवा / कंसोल ऐप हाइब्रिड बना सकते हैं, और परीक्षण उद्देश्यों के लिए कंसोल ऐप का उपयोग कर सकते हैं।
आपको जो करना है वह कुछ इस तरह है - आपके program.cs
. में , Main
बदलें सेवा चलाने या वैकल्पिक रूप से कंसोल ऐप के रूप में चलाने की विधि:
static class Program
{
static void Main(params string[] args)
{
string firstArgument = string.Empty;
if (args.Length > 0)
{
firstArgument = args[0].ToLowerInvariant();
}
if (string.Compare(firstArgument, "-console", true) == 0)
{
new YourServiceClass().RunConsole(args);
}
else
{
ServiceBase[] ServicesToRun = new ServiceBase[] { new YourServiceClass() };
ServiceBase.Run(ServicesToRun);
}
}
और फिर आपके सर्विस क्लास पर, जो ServiceBase
. से इनहेरिट करता है और इसमें OnStart
. है और OnStop
, जोड़ें RunConsole
इस तरह की विधि:
public void RunConsole(string[] args)
{
OnStart(args);
Console.WriteLine("Service running ... press <ENTER> to stop");
//Console.ReadLine();
while (true)
{ }
OnStop();
}
अब यदि आप ऐप की कार्यक्षमता का परीक्षण करने के लिए उसे चलाना चाहते हैं, तो बस EXE को -console
के साथ लॉन्च करें। कमांड लाइन पैरामीटर, और RunConsole
. में ब्रेकप्वाइंट लगाएं विधि।