你的位置:首页 > 软件开发 > ASP.net > 记录浏览者客户端的信息

记录浏览者客户端的信息

发布时间:2016-05-24 11:00:25
今天在ASP.NET MVC项目中,实现一个小功能,就是记录浏览者客户端的一些信息。比如浏览者的IP,访问了哪些页面,以及浏览器相关的信息。在数据库中创建一张表[VisitData]:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ...

记录浏览者客户端的信息

今天在get='_blank'>ASP.NET MVC项目中,实现一个小功能,就是记录浏览者客户端的一些信息。比如浏览者的IP,访问了哪些页面,以及浏览器相关的信息。在数据库中创建一张表[VisitData]:到现在为止,还有一个问题,我们需要记录浏览者访问了哪一个页面的记录,我们需要把上面那段代码粘贴至所在控制器的操作(Action)中。如果这样多,另一个问题又来了,一个ASP.NET MVC项目这样多。那上一个很可的事情,特别是在维护的时候,就知道它的利弊了。写一个静态的Utility吧,然后每一个操作中使用这个方法名即可。嗯,想法不错。不过,在ASP.NET MVC中,有一个更好的方法,就是过滤(filter).

记录浏览者客户端的信息记录浏览者客户端的信息
using Insus.NET.Entities;using Insus.NET.Models;using Insus.NET.Utilities;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Web;using System.Web.Mvc;namespace Insus.NET.Attributes{  public class VisitActionFilterAttribute : ActionFilterAttribute  {    public override void OnActionExecuting(ActionExecutingContext filterContext)    {      VisitData vd = new VisitData();      vd.IP = NetUtility.GetClientIP();      //vd.Controller = this.ControllerContext.RouteData.Values["controller"].ToString(); //"Home";       //vd.Action = this.ControllerContext.RouteData.Values["action"].ToString(); //"Index";      vd.Controller = filterContext.RouteData.Values["controller"].ToString();      vd.Action = filterContext.RouteData.Values["action"].ToString();      HttpBrowserCapabilities bc = System.Web.HttpContext.Current.Request.Browser;      vd.Browser = bc.Browser;      vd.Version = bc.Version;      vd.Languages = System.Web.HttpContext.Current.Request.UserLanguages[0];      vd.Platform = bc.Platform;      vd.UserAgent = System.Web.HttpContext.Current.Request.UserAgent;      VisitDataEntity vie = new VisitDataEntity();      vie.Insert(vd);    }      }}

原标题:记录浏览者客户端的信息

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录