मैंने एक विंडो सेवा बनाई और इसे स्थापित करने के लिए मैंने अपनी तैनाती परियोजना बनाई और इसे इंस्टॉल किया। स्थापित करने के बाद मैंने इसे देखा। यह सफलतापूर्वक शुरू हुआ।विंडो सेवा सिस्टम स्थापित करते समय त्रुटि। सुरक्षा। सुरक्षा सुनिश्चित करें
अगले दिन मैंने कुछ संशोधन किया, और पुनर्निर्माण और पुनर्स्थापित किया लेकिन अब यह इंस्टॉल नहीं हो रहा है।
तब मैंने इंस्टॉलर के साथ अपनी समस्या सोचा, सेवा के लिए एक कस्टम इंस्टॉलर बनाने देता है ताकि जब भी मैं अपना कोड अपडेट कर सकूं।
मैंने इसे इस तरह की तरह बनाया है अगर किसी को भविष्य के लिए इसकी आवश्यकता हो।
public class MyInstaller : Installer
{
ServiceProcessInstaller spi;
ServiceInstaller si;
public MyInstaller()
{
spi = new ServiceProcessInstaller();
spi.Account = ServiceAccount.LocalSystem;
si = new ServiceInstaller();
si.StartType = ServiceStartMode.Manual;
si.ServiceName = "MyService";
si.DisplayName = "My Service";
si.Description = "service installed from command line";
this.Installers.Add(spi);
this.Installers.Add(si);
}
}
मैंने इसे पैरामीटर तर्कों की जांच करके मुख्य विधि से बुलाया।
case "-i":
case "-install":
ti = new TransactedInstaller();
mi = new MyInstaller();
ti.Installers.Add(mi);
string logPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\install.log";
ctx = new InstallContext(logPath, cmdline);
ti.Context = ctx; //.Context (ctx);
ti.Install(new Hashtable());
break;
अब जब मैं स्थापित करने की कोशिश कर रहा हूं। मुझे त्रुटि सिस्टम प्राप्त हुआ। सुरक्षा। सुरक्षा विफलता: स्रोत नहीं मिला था, लेकिन कुछ या सभी ईवेंट लॉग खोज नहीं पाए जा सका। पहुंच योग्य लॉग: सुरक्षा।
मैं इसे Google करता हूं, और पता चला है कि सेवा लॉग ऑन इंस्टॉल और लिखते समय एप्लिकेशन लॉग तक पहुंचने का प्रयास करेगी।
मैं कोई ईवेंट लॉग नहीं लिख रहा हूं। लॉगिंग के लिए मेरे पास लॉगऑनेट है। लेकिन अभी भी इसका डिफ़ॉल्ट व्यवहार है।
अब इस मुद्दे को कैसे दूर करें? यह स्थापित नहीं हो रहा है, यहां तक कि मेरे पास सभी अनुमतियां हैं।
धन्यवाद
मैंने cntrl + shift + रन में प्रवेश किया है।फिर फिर मैंने मैन्युअल रूप से दायाँ क्लिक किया और व्यवस्थापक के रूप में चलाया और यह आदमी काम किया। धन्यवाद मैं क्या मूर्खतापूर्ण गलतियों कर रहा हूँ। लेकिन मैं जानना चाहता हूं कि विंडो सेवा के प्रारंभ/बंद प्रदर्शन को कैसे सुधारें। – sunder
@ सैंडर: स्टार्ट/स्टॉप प्रदर्शन में आपकी सेवा क्या हो रही है इसके साथ * बहुत * करने के लिए होगा। 'स्टार्ट' ठीक होना चाहिए क्योंकि आम तौर पर आप काम करते हैं जो एक नया धागा स्पिन करते हैं। रोकने के लिए आपको धागे को रोकने के लिए कुछ त्वरित तरीके की आवश्यकता होगी। तो प्रदर्शन में सुधार करने के लिए कोई सामान्य तरीका नहीं है। –
मैंने सेवा स्थापित करने के लिए बैच फ़ाइल (बीएटी) बनाई और मैं बैच को व्यवस्थापक के रूप में चला रहा था लेकिन यह काम नहीं कर रहा था। फिर, मैं कमांड प्रॉम्प्ट को व्यवस्थापक के रूप में चलाता हूं और बीएटी फ़ाइल के बिना सेवा स्थापित करता हूं, बस EXE फ़ाइल-स्थापना का नाम टाइप करता हूं। मुझे यकीन नहीं है कि ऐसा क्यों हुआ लेकिन शायद यह दूसरों की मदद कर सकता है। मुझे लगता है कि यह इस तथ्य से संबंधित हो सकता है कि व्यवस्थापक के रूप में एक बीएटी फ़ाइल चलाने से आप उस कोड को निष्पादित नहीं कर रहे हैं जिसे आप वहां लिखते हैं, केवल बीएटी फ़ाइल। –