2015-10-13 3 views
9

उसी अवधारणा से संबंधित कई लेख और लिंक देखा।एएसपी.नेट आवेदन पर ऑनलाइन उपयोगकर्ता

Counting online users using asp.net

Is there any ASP.NET application to monitor online user and page view log report?

मेरा थोड़ा अलग है। मेरा आवेदन एमवीसी 4 है और SimpleMembershipProvider का उपयोग कर रहा है। मुझे यकीन नहीं है कि GetNumberOfUsersOnline क्यों काम नहीं कर रहा है।

https://msdn.microsoft.com/en-us/library/system.web.security.membership.getnumberofusersonline(v=vs.110).aspx

किसी भी विचार? इसे एक आसान और कुशल तरीके से कैसे करें। मैं बस अपनी वेबसाइट में केवल एक ही स्थान पर इसका उपयोग कर रहा हूं।

+2

[यह] (http://forums.asp.net/t/1847047.aspx?SimpleMembershipProvider+GetNumberOfUsersOnline+Method+MembershipUser+LastLoginDate+Property) से पता चलता SimpleMembership कि समारोह को लागू नहीं करता है। – Jasen

+0

आप लॉग इन यूजर्स की संख्या जानना चाहते हैं? या कुल ऑनलाइन उपयोगकर्ताओं की संख्या? –

+0

@SimchaKhabinsky ऑनलाइन उपयोगकर्ताओं की कुल संख्या – Chatra

उत्तर

2

एक और अच्छा समाधान है कि की संख्या है आपके कोड के लिए सुखद ऑर्थोगोनल Google Analytics है। http://www.google.com/analytics/ GA का उपयोग करके, आप अपनी वेबसाइट पर सक्रिय उपयोगकर्ताओं का वास्तविक समय प्रदर्शन देख सकते हैं। यह भी मदद करता है कि आपके पास समय के साथ इतिहास है और उपयोगकर्ता गतिविधि के चोटियों और घाटियों को देख सकता है।

3

मुझे this ऑनलाइन मिला, ऐसा लगता है कि यह आपके लिए काम करेगा। उपयोगकर्ता गिनती जब आप का उपयोग करने की जरूरत है आप उपयोग कर सकते हैं तो फिर

protected void Application_Start(Object sender, EventArgs e) 
{ 

    Application.Lock(); 
    Application["UserCount"] = 0; 

} 
protected void Session_Start(Object sender, EventArgs e) 
{ 

    Application.Lock(); 
    Application["UserCount"] = (int)Application["UserCount"] + 1; 
    Application.UnLock(); 
} 

protected void Session_End(Object sender, EventArgs e) 
{ 
    Application.Lock(); 
    Application["UserCount"] = (int)Application["UserCount"] - 1; 
    Application.UnLock(); 

} 

:

var count = (int)Application["UserCount"]; 
+0

सत्र अंत आग नहीं है। मैंने कोशिश की कि – Chatra

+0

यह सुझाव देता है कि यदि आप सत्र में कुछ जोड़ते हैं तो यह आग लग जाएगा। क्या आपने सत्र शुरू करने में सत्र में कुछ जोड़ने का प्रयास किया है? http://stackoverflow.com/questions/4813462/session-end-does-not-fire – Aaron

+0

मैंने कोशिश की लेकिन यह काम नहीं किया – Chatra

2

माइक्रोसॉफ्ट प्रलेखन से:

बस अपने Global.asax.cs फाइल करने के लिए इस कोड को जोड़ना GetNumberOfUsersOnline वर्तमान एप्लिकेशन नाम के लिए उपयोगकर्ताओं की संख्या देता है जहां अंतिम गतिविधि दिनांक वर्तमान समय से अधिक यू से कम है serIsOnlineTimeWindow। अंतिम गतिविधि दिनांक/समय टिकट वर्तमान दिनांक और समय के लिए अद्यतन किया जाता है जब उपयोगकर्ता क्रेडेंशियल या ValidateUser या UpdateUser विधि के रास्ते जब द्वारा मान्य कर रहे हैं एक GetUser अधिभार कि कोई पैरामीटर या एक लेता है के लिए एक कॉल कि यह निर्दिष्ट करने के लिए कि उपयोगकर्ता/दिनांक स्टाम्प अद्यतन किया जाना चाहिए, उपयोगकर्ता IsOnline पैरामीटर का उपयोग करता है।

आप देख सकते हैं कि GetNumberOfUsersOnline कई मानकों पर निर्भर करता है और यह प्रभावशाली नहीं है। एक कामकाज के रूप में मैं सुझाव देता हूं कि आप SqlMembershipProvider को देख सकते हैं और GetNumberOfUsersOnline() को ओवरराइड कर सकते हैं, ताकि आप यहां अपने तर्क को लागू कर सकें।

public class MyMembershipProvider : SqlMembershipProvider 
{ 
    public override bool ValidateUser(string username, string password) 
    { 
    if (base.ValidateUser(username, password)) 
    { 
     // successfully logged in. add logic to increment online user count. 

     return true; 
    } 

    return false; 
} 

public override int GetNumberOfUsersOnline() 
{ 
    // add logic to get online user count and return it. 
} 
} 

बस घटती उपयोगकर्ता में ऑनलाइन उपयोगकर्ता की संख्या तर्क बाहर

लॉग इन करें यदि आप चाहते हैं ट्रैक आगंतुकों और पृष्ठ पर आए, यहाँ कुछ विचार:

+0

पर सेट किया गया है, दुर्भाग्यवश, यह नए एएसपी.Net पहचान मॉडल में उपलब्ध नहीं है। :( – MC9000

2

आप प्रदर्शन काउंटर पढ़ने की कोशिश कर सकते हैं here सूचीबद्ध:

वर्तमान बेनामी उपयोगकर्ता गुमनाम आईआईएस उपयोगकर्ताओं की संख्या

वर्तमान गैर-बेनामी उपयोगकर्ता अधिकृत आईआईएस उपयोगकर्ताओं

1

आप कनेक्ट किए गए उपयोगकर्ताओं को ट्रैक करने के लिए सिग्नलआर का उपयोग कर सकते हैं। इसका उपयोग करके आप ऑनलाइन कुशलता से & वास्तविक समय और कनेक्ट की गई उपयोगकर्ताओं की जानकारी को ट्रैक कर सकते हैं। आप उपयोगकर्ताओं में लॉग इन करने के लिए भी स्थिति डाल सकते हैं। तो, नवीनतम तकनीक के साथ जाओ। आप मौजूदा एमवीसी अनुप्रयोग के साथ कार्यान्वित कर सकते हैं।

आप इसके लिए इस आधिकारिक ट्यूटोरियल को देख सकते हैं।

http://www.asp.net/signalr

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