Ive ने प्रॉक्सी मॉनिटर नामक एक विंडोज सेवा बनाई और वर्तमान में उस चरण में जहां सेवा स्थापित है और जिस तरह से मैं इसे चाहता हूं अनइंस्टॉल कर रहा हूं।लगातार चलने के लिए विंडोज सेवा
तो मैं तो जैसे आवेदन निष्पादित करें:
C:\\Windows\\Vendor\\ProxyMonitor.exe /install
सुंदर आत्म व्याख्यात्मक है, और फिर मैं services.msc
गया और और सेवा शुरू करते हैं, लेकिन मैं निम्न संदेश मिलता है जब मैं इस कार्य करें:
स्थानीय कंप्यूटर पर प्रॉक्सी मॉनीटर सेवा शुरू हुई और फिर रुक गई। कुछ सेवाएं स्वचालित रूप रोक अगर वहाँ ऐसा करने के लिए कोई काम नहीं है उदाहरण के लिए, प्रदर्शन लॉग्स और चेतावनियों सेवाएं
मेरे कोड तो दिखाई देता है:
public static Main(string[] Args)
{
if (System.Environment.UserInteractive)
{
/*
* Here I have my install logic
*/
}
else
{
ServiceBase.Run(new ProxyMonitor());
}
}
और फिर ProxyMonitor वर्ग के भीतर मेरे पास है:
public ProxyMonitor()
{
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
running = true;
while (running)
{
//Execution Loop
}
}
और onStop()
मैं running
परिवर्तनीय को false
में बदलता हूं;
क्या मैं के रूप में मैं नेटवर्क मैं परिवर्तन आदि का पता लगाने की जरूरत है की निगरानी करने की आवश्यकता होगी, सेवा लगातार सक्रिय बनाने के लिए क्या करने की आवश्यकता होगी
अद्यतन: 1
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
Thread = new Thread(ThreadWorker);
Thread.Start();
}
ThreadWorker
के भीतर मेरे पास ProxyEventLogger.WriteEntry("Main thread entered")
है जिसे निकाल दिया नहीं जाता है।
'थ्रेड = नया थ्रेड (ThreadWorker)' अभ्यस्त काम –
बिल्कुल ठीक काम करता है, ऐसा क्यों है विफल हो जाएगा आप सोचा? – RobertPitt