protected void Application_PreRequestHandlerExecute(object sender, EventArgs eventArgs) { var session = HttpContext.Current.Session; if (session != null && HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated) { if (OnlineVisitorsContainer.Visitors.ContainsKey(session.SessionID)) { OnlineVisitorsContainer.Visitors[session.SessionID].AuthUser = HttpContext.Current.User.Identity.Name; OnlineVisitorsContainer.Visitors[session.SessionID].SessionStarted = DateTime.UtcNow; } else { HttpContext currentContext = HttpContext.Current; if (currentContext != null) { if (!currentContext.Request.Browser.Crawler) { WebsiteVisitor currentVisitor = new WebsiteVisitor(currentContext); OnlineVisitorsContainer.Visitors[currentVisitor.SessionId] = currentVisitor; } } } var visitors = OnlineVisitorsContainer.Visitors.Values.Where(x => x.SessionStarted.AddMinutes(3) < DateTime.UtcNow).ToList(); if (visitors.Any()) { foreach (var visitor in visitors) { WebsiteVisitor visitorx; OnlineVisitorsContainer.Visitors.TryRemove(visitor.SessionId, out visitorx); } } } }
public ActionResult DeleteConfirmed(int id) { WebsiteVisitor websitevisitor = db.WebsiteVisitors.Find(id); db.WebsiteVisitors.Remove(websitevisitor); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ID,Date,HostAddress,HostName,Browser,Url,UrlReferrer,ResolutionX,ResolutionY")] WebsiteVisitor websitevisitor) { if (ModelState.IsValid) { db.Entry(websitevisitor).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(websitevisitor)); }
protected void Session_Start(Object sender, EventArgs e) { HttpContext currentContext = HttpContext.Current; if (currentContext != null) { if (!currentContext.Request.Browser.Crawler) { WebsiteVisitor currentVisitor = new WebsiteVisitor(currentContext); OnlineVisitorsContainer.Visitors[currentVisitor.SessionId] = currentVisitor; } } }
// GET: /WebsiteVisitors/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } WebsiteVisitor websitevisitor = db.WebsiteVisitors.Find(id); if (websitevisitor == null) { return(HttpNotFound()); } return(View(websitevisitor)); }
private void SaveVisitorsInformation() { using (PortalDb db = new PortalDb()) { WebsiteVisitor WebsiteVisitor1 = new WebsiteVisitor(); WebsiteVisitor1.Date = DateTime.Now; WebsiteVisitor1.HostAddress = Request.UserHostAddress; WebsiteVisitor1.HostName = Request.UserHostName; WebsiteVisitor1.Browser = Request.Browser.Browser; WebsiteVisitor1.Url = Request.Url.AbsoluteUri; if (Request.UrlReferrer != null) { WebsiteVisitor1.UrlReferrer = Request.UrlReferrer.AbsoluteUri; } else { WebsiteVisitor1.UrlReferrer = ""; } db.WebsiteVisitors.Add(WebsiteVisitor1); db.SaveChanges(); } }