2010-04-27 5 views
5

मुझे यह प्रदर्शित करने की ज़रूरत है कि कितने उपयोगकर्ता मेरी साइट ब्राउज़ कर रहे हैं। साइट iis7 पर चल रही है, और हम एएसपीनेट 3.5 का उपयोग कर रहे हैं।किसी भी पल में मुझे अपनी साइट (आईआईएस 7/एएसपीनेट) पर आगंतुकों/उपयोगकर्ताओं की संख्या कैसे मिल सकती है?

क्या सक्रिय सत्रों की संख्या जाने का एक अच्छा तरीका है? संख्या को बहुत सटीक होने की आवश्यकता नहीं है।

कोई इतिहास की आवश्यकता नहीं है, मैं सिर्फ यह जानना चाहता हूं कि अभी कितने उपयोगकर्ता "ऑनलाइन" हैं, और पृष्ठ पर ही प्रदर्शित होते हैं।

+0

ASP.NET वेब साइटों की एक बहुत उपयोगकर्ता तालिका में एक स्तंभ के रूप में 'LastActivityDate' (या समान) है। आप उन सभी उपयोगकर्ताओं को गिनने के लिए उपयोग कर सकते हैं जो नवीनतम 10 मिनट में सक्रिय हैं। –

उत्तर

4

आप इस (परफ़ॉर्मेंस) के लिए Windows प्रदर्शन काउंटरों

ASP.NET अनुप्रयोग> सत्र सक्रिय काउंटर का उपयोग कर सकते हैं।

आप सिस्टम का उपयोग कर इन प्रदर्शन काउंटरों तक पहुंच सकते हैं। डायग्नोस्टिक नामस्थान।

इस कोड मेरे लिए काम किया:

 PerformanceCounter pc = new PerformanceCounter("ASP.NET Applications", 
    "Sessions Active", "__Total__", "MYSERVERHOSTNAME.domain"); 

     while (true) 
     { 
      Console.WriteLine(pc.NextValue()); 
      System.Threading.Thread.Sleep(1000); 
     } 

मैं था इस समस्या को तो एक नज़र यहाँ ले काउंटर बहुत अधिक लगती है, तो: http://support.microsoft.com/kb/969722

+0

क्या इसे प्रोग्राम से प्रोग्रामेट किया जा सकता है .Net? – oekstrem

+0

मुझे विश्वास है - सिस्टम में एक नज़र डालें। प्रदर्शन काउंटर के लिए डायग्नोस्टिक नामस्थान। इस प्रोजेक्ट पर एक नज़र डालें: http://www.codeproject.com/KB/dotnet/perfcounter.aspx –

+0

वास्तव में, यह एक बेहतर हो सकता है: http://www.geekpedia.com/tutorial211_Using- प्रदर्शन- काउंटर-इन-Csharp.html –

1

एक सामान्य सिद्धांत रूप में, आप क्या मतलब है परिभाषित करने के लिए है ऑनलाइन उपयोगकर्ताओं की संख्या से।

उदाहरण के लिए, सत्र आमतौर पर एक पूर्वनिर्धारित अवधि के लिए रहता है, जैसे कि 30 मिनट। इस बात पर निर्भर करते हुए कि आप उपयोगकर्ताओं को अपनी साइट पर कितनी देर तक उम्मीद करते हैं, सत्र की अवधि काफी हद तक निष्क्रिय हो सकती है जब उपयोगकर्ता आपकी साइट पर नहीं होता है।

आम तौर पर आप उन लोगों को चाहते हैं जो पिछले एन मिनट में ऑनलाइन रहे हैं। सत्र आपको एक समय के लिए यह आंकड़ा देते हैं (कॉन्फ़िगर किया गया सत्र समाप्ति), लेकिन कई अन्य समय उपाय हैं जो संभावित रूप से अधिक प्रासंगिक होंगे।

1

इसे पूरा करने का एक तरीका यह है कि आईआईएस लॉग स्थानीय फ़ाइल सिस्टम की बजाय आपके डेटाबेस में एक टेबल में अपने डेटा को ढकने के लिए है। वेब सर्वर स्तर पर कॉन्फ़िगर करना बहुत आसान है।

तो आप आसानी से उस ग्राफ और दिन, वर्तमान, साप्ताहिक, आदि

बेशक

, यदि आप एक अत्यधिक तस्करी साइट है, तो इस एकत्रित डाटा का भारी मात्रा में परिणाम होगा भर में उपयोग दिखा सकता है।

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