के लिए एक कुल उदाहरण स्थापित कर रहा है वी.एस. 2005, सी # 2.0, .NET 2.0/3.0, Win2003मैं एक MultiInstance के लिए प्रदर्शन काउंटरों का एक सेट स्थापित करने के लिए कोशिश कर रहा हूँ प्रदर्शन काउंटर
। मैंने देखा कि कुछ सिस्टम प्रदर्शन काउंटर श्रेणियां "कुल" जीवित रहने का प्रबंधन करती हैं, भले ही कोई अन्य उदाहरण न हो। एएसपी.नेट एप्स 2.0.50727 एक उदाहरण है।
तो मैं इसे डुप्लिकेट करने का प्रयास कर रहा हूं। मैंने एक इंस्टालर क्लास में निम्न दिनचर्या बनाई है जिसे मैं एक सेटअप प्रोजेक्ट में कस्टम एक्शन में जोड़ता हूं।
public override void Install(System.Collections.IDictionary stateSaver)
{
//Debugger.Break();
CounterCreationData data = new CounterCreationData("ZCounter", "ZCtrHelp", PerformanceCounterType.NumberOfItems32);
PerformanceCounterCategory.Create("ZCategory", "ZCatHelp", PerformanceCounterCategoryType.MultiInstance, new CounterCreationDataCollection(new CounterCreationData[] { data }));
PerformanceCounter counter = new PerformanceCounter();
counter.CategoryName = "ZCategory";
counter.CounterName = "ZCounter";
counter.InstanceName = "ZTotal";
counter.InstanceLifetime = PerformanceCounterInstanceLifetime.Global;
counter.ReadOnly = false;
counter.RawValue = 0;
base.Install(stateSaver);
}
अगर मैं Debugger.Break()
लाइन uncomment, और के माध्यम से कदम, मैं देख सकता काउंटर वास्तव में सही उदाहरण के नाम के साथ बनाया जाता है, और दृश्य स्टूडियो सर्वर एक्सप्लोरर के साथ InstanceLifetime वैश्विक करने के लिए सेट के साथ उदाहरण दिखाता है। मैं सेटअप प्रोग्राम में RemoveInstance() विधि को कॉल नहीं करता हूं।
फिर भी, सेटअप प्रोग्राम पूरा होने के कुछ सेकंड बाद, वह उदाहरण प्रदर्शन मॉनीटर से और वीएस सर्वर एक्सप्लोरर से गायब हो जाता है। मैं इसे कैसे छड़ी बना सकता हूँ? या मैं कर सकता हूँ
मुझे लगता है कि यह मेरे प्रश्न का सही उत्तर है। हालांकि, चेक निशान चला गया है; मैं इसे सही उत्तर के रूप में नहीं चुन सकता। मुझे पता था कि पेर्फमोन _Total काउंटर नहीं बना रहा था; यह सिर्फ मुझे स्पष्ट नहीं था कि हमेशा एक सेवा थी जिंदा काउंटर "PerformanceCounterInstanceLifetime.Global" सुझाव देता है कि इसे ऐसा करना चाहिए; अन्यथा, उस नाम का क्या मतलब है? बीटीडब्लू, मैं किसी भी कोड, सेवाओं या जो कुछ भी लिखने के विपरीत नहीं हूं। मुझे बस पता नहीं था कि यह कैसे किया जा रहा था। मैं आलसी प्रोग्रामर के रूप में सोचा था। –