Asp.net mvc 有人对我如何使用MVC进行服务器端web跟踪有什么建议吗?

Asp.net mvc 有人对我如何使用MVC进行服务器端web跟踪有什么建议吗?,asp.net-mvc,Asp.net Mvc,我想为我的MVC应用程序放一些非常基本的web跟踪。我想在服务器端这样做,我想知道是否有人知道一些简单的类,我可以用它们来帮助我 我想跟踪以下内容:用户的IP地址、他们请求的页面、他们来自哪个国家以及日期戳。是的,您可以在控制器中为每个请求截获此信息: 如果需要用户请求的页面,请执行以下操作: Request.RawUrl//提供用户请求的当前完整URL 如果您需要请求的国家/地区,您可以获取用户的IP地址,并: Request.UserHostAddress 您还可以获取用户传入的所有路由值;

我想为我的MVC应用程序放一些非常基本的web跟踪。我想在服务器端这样做,我想知道是否有人知道一些简单的类,我可以用它们来帮助我


我想跟踪以下内容:用户的IP地址、他们请求的页面、他们来自哪个国家以及日期戳。

是的,您可以在控制器中为每个请求截获此信息:

如果需要用户请求的页面,请执行以下操作:

Request.RawUrl//提供用户请求的当前完整URL

如果您需要请求的国家/地区,您可以获取用户的IP地址,并:

Request.UserHostAddress

您还可以获取用户传入的所有路由值;更全面地了解他们是如何到达目的地的

public class MyController : Controller
{
    public ActionResult Home()
    {
        var userIP = Request.UserHostAddress;
        var requestedUrl = Request.UserHostAddress;
        var routeValues = this.ControllerContext.RouteData.Route.GetRouteData(HttpContext);
        var requestedDateTime = DateTime.Now;
    }
}
现在,你必须把这个放在每个动作上,这看起来很愚蠢,所以


你想追踪什么?错误?服务电话?你是说追踪吗?需要更多关于此的信息抱歉,我没有添加足够的信息。我想跟踪的是页面请求。跟踪请求的页面和请求的国家以及日期。
protected virtual void OnActionExecuting(
    ActionExecutingContext filterContext)
{
    var userIP = filterContext.HttpContext.Request.UserHostAddress;
    var requestedUrl = filterContext.HttpContext.Request.UserHostAddress;
    var routeData = ((MvcHandler)filterContext.HttpContext.CurrentHandler).RequestContext.RouteData.Route.GetRouteData(filterContext.HttpContext);
    var requestedDateTime = DateTime.Now;

}