2015-08-06 9 views
8

मैं कार्यालय क्षुधा के लिए एक COM ऐड-इन है कि पृष्ठभूमि एकटाइमर के साथ क्या होता है जब पीसी नींद से जागता है?

System.Timers.Timer 

इस पृष्ठभूमि आपरेशन का उपयोग करते हुए हर 30 मिनट में एक इंटरनेट कनेक्शन से अधिक उपयोगकर्ता प्रमाणीकरण प्रदर्शन में एक कार्रवाई निष्पादित करता है, और मैं कुछ उपयोगकर्ताओं की रिपोर्ट है कि प्रमाणीकरण विफल रहता है जब उनके पीसी नींद से जागते हैं। मैं इस व्यवहार को खुद पुन: पेश नहीं कर सकता, इसलिए मेरा सिद्धांत यह है कि जब पीसी जागता है, तो इंटरनेट ऑपरेशन को पुनर्स्थापित करने से पहले पृष्ठभूमि ऑपरेशन निष्पादित होता है (संभवतः, जब पीसी सो जाता है तो कनेक्शन विंडोज़ द्वारा बंद कर दिया गया था)।

सामान्य रूप से, यदि निष्क्रियता की अवधि के बाद कोई पीसी सो जाता है, तो पीसी क्या होता है (Timers के मामले में) क्या होता है? उदाहरण के लिए, Timer सोते समय रुक गया है, और उसके बाद पीसी जागने पर इसके सेट अंतराल पर फिर से शुरू होता है (उदाहरण के लिए यदि Timer पीसी के सोने के समय अंतराल में 10 मिनट था, तो Timer.Elapsed घटना 20 मिनट तक आग नहीं होगी पीसी जागता है)? Timer.Elapsed घटना कतारबद्ध है ताकि यह पीसी जागने पर तुरंत आग लग जाए? क्या पीसी सोते समय Timer रोकता है? या, Timer पीसी सोते समय चलते रहते हैं, लेकिन चूंकि इंटरनेट कनेक्शन टूटा हुआ है (संभवतः), पृष्ठभूमि ऑपरेशन उपयोगकर्ता प्रमाणीकरण नहीं कर सकता है?

+0

यदि आप किसी भी उपयोग के हैं, तो आप Windows पावर इवेंट्स की सदस्यता ले सकते हैं: [स्लीप/हाइबरनेट और विज़ुअल बेसिक .NET में फिर से शुरू/वेकअप ईवेंट प्राप्त करें] (http://stackoverflow.com/a/11598083/1115360)। –

+0

क्या वही समस्या तब होती है जब उपयोगकर्ता टाइमर निष्पादित करने से ठीक पहले एक मिनट के लिए अपना कनेक्शन खो देता है? –

+1

आपके ऐप को सभी संभावनाओं में वैसे भी अस्थायी कनेक्शन हानि सहन करने की आवश्यकता है। आपको पुनः प्रयास करने के लिए कुछ करने की ज़रूरत है। – usr

उत्तर

-2
static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 
    { 
     Console.WriteLine(String.Format("{0}:{1}:{2} : Timer fired", 
      DateTime.Now.ToLocalTime().Hour, 
      "Execute:" + DateTime.Now.ToLocalTime().Minute, 
      DateTime.Now.ToLocalTime().Second)); 
    } 

जब आग इस घटना आप जानते हो जाएगा समय शुरू और जब भी तुम सिर्फ दुकान समय पर अमल चाहते हैं कि आप समय पर अमल का प्रबंधन जहां। यदि आपका पीसी नींद या हाइबरनेट हो जाता है और समय समाप्त करने से पहले अपने पीसी को फिर से शुरू करता है तो आप अपने अंतिम निष्पादन समय से जांच सकते हैं और कार्रवाई कर सकते हैं।

संबंधित मुद्दे