Вы используете ActionFilterAttribute
Там как на сайте asp.net/mvc: http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/understanding-action-filters-cs
В общем, добавить класс как:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class LogVisitorsAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var descriptor = filterContext.ActionDescriptor;
var controller = descriptor.ControllerDescriptor.ControllerName;
var action = descriptor.ActionName;
var user = filterContext.HttpContext.User.Identity.Name;
// add your logging here
log(description, controller, action, user);
}
}
Вы можете тянуть все виды интересных «данных посетителя» в течение OnActionExecuting
, таких как имена контроллеров/действий (как показано) и значения, переданные действию (параметры действия).
Затем вы можете добавить это к индивидуальным действиям
[LogVisitors]
public ActionResult Index()
или контроллер (или базовый контроллер)
[LogVisitors]
public class HomeController
или всех действий и контроллеров, добавив его в свой FilterConfig (который должен был уже существовать)
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new LogVisitorsAttribute());
}
}
Что вы подразумеваете под 'log visitor data'? –
@RubensFarias Обычный ... IP, реферер и т. Д. –