Пример #1
0
        protected void Application_PreRequestHandlerExecute(object sender, EventArgs eventArgs)
        {
            HttpContext currentContext = HttpContext.Current;

            if (currentContext != null)
            {
                var account = (Account)HttpContext.Current.Session["user"];

                if (account != null)
                {
                    var visitor = OnlineVisitorsContainer.Visitors
                                  .SingleOrDefault(q => q.Key == currentContext.Session.SessionID).Value;
                    if (visitor.UserNameID != account.AccountID)
                    {
                        if (visitor.UserNameID == null)
                        {
                            System_Model.Instance.SetIsOnlineUserByID(account.AccountID);
                        }
                        else
                        {
                            System_Model.Instance.SetIsOfflineUserByID(visitor.UserNameID);
                            System_Model.Instance.SetIsOnlineUserByID(account.AccountID);
                        }

                        WebVisitor currentVisitor = new WebVisitor(currentContext);
                        OnlineVisitorsContainer.Visitors[currentVisitor.SessionId] = currentVisitor;
                        new SystemHub().SendOnlineVisitorsContainer(OnlineVisitorsContainer.Visitors.Values.ToList());
                    }
                }
            }
        }
Пример #2
0
        protected void Session_Start(Object sender, EventArgs e)
        {
            // get current context
            HttpContext currentContext = HttpContext.Current;

            if (currentContext != null)
            {
                if (!currentContext.Request.Browser.Crawler)
                {
                    WebVisitor currentVisitor = new WebVisitor(currentContext);
                    OnlineVisitorsContainer.Visitors[currentVisitor.SessionId] = currentVisitor;
                    new SystemHub().SendOnlineVisitorsContainer(OnlineVisitorsContainer.Visitors.Values.ToList());
                }
            }
        }