मैं सी # में एक विंडोज सेवा विकसित करने वाला हूं। इस सेवा को सिस्टम में घटनाओं का ट्रैक रखने की आवश्यकता है, और समय-समय पर फ़ाइलों को कुछ डेटा लिखना होगा। ये चल रहे कार्यक्रम एक निश्चित राज्य बनाते हैं, इसलिए मैं राज्य को स्मृति में रखूंगा और इसे अपडेट कर दूंगा क्योंकि घटनाएं आती हैं। मैं चीजों को अधिक जटिल नहीं करना चाहता हूं इसलिए मैं नहीं चाहता कि राज्य डिस्क पर लगातार बने रहें, लेकिन मुझे आश्चर्य है कि अगर मैं इसे स्मृति में लगातार बना सकता हूं, तो अगर सेवा दुर्घटनाग्रस्त हो जाती है (और ऑटो द्वारा पुनरारंभ होता है विंडोज़) यह कहां से निकल सकता है और आगे बढ़ सकता है (संभवतः कुछ घटनाओं को खोना, एक बड़ा सौदा नहीं)।स्मृति में लगातार डेटा रखते हुए
मैं "साझा" मेमोरी एरिया बनाने की लाइन के साथ सोच रहा था, इस प्रकार विंडोज़ इसे प्रबंधित करने देता था, और इसे केवल सेवा में उपयोग करता था - लेकिन मुझे यकीन नहीं है कि सेवा मरने के बाद ऑब्जेक्ट जारी रहेगा।
कोई भी विचार?
EDIT: मैं एक ओवरकिल समाधान की तलाश नहीं कर रहा हूं। डेटा कुछ हद तक महत्वपूर्ण है इसलिए मैं सेवा को पुनरारंभ होने तक स्मृति में प्रतीक्षा करना चाहता हूं, लेकिन डेटा भी महत्वपूर्ण नहीं है। यदि मैं फाइलों, बाहरी तृतीय पक्ष प्रक्रियाओं आदि के साथ काम किए बिना डेटा को आसानी से जारी रख सकता हूं, तो यह एक अच्छी सुविधा है। मेरा आदर्श समाधान एक साधारण अंतर्निहित फीचर (.NET या Windows में) होगा जो मुझे क्रैश ईवेंट से पुनर्प्राप्त करने के लिए कुछ यादगार दृढ़ता प्रदान करेगा।
चेकआउट: ['PersistentDictionary'] (http://izlooite.blogspot.com/2011/04/persistent-dictionary.html) कक्षा –