Отслеживание пользователей с помощью ASP.NET MVC 3 и видов бритвы - PullRequest
10 голосов
/ 15 июня 2011

Какой лучший способ внедрить отслеживание пользователей на вашем веб-сайте при использовании представлений Razor в ASP.NET MVC 3.

В веб-формах я бы поместил некоторый код на главной странице, чтобы использовать cookie и регистрировать каждый из них.URL на моем сайте, который человек посещает в базе данных, но я не уверен, где реализовать этот код в ASP.NET MVC.

Ответы [ 2 ]

20 голосов
/ 15 июня 2011

Полагаю, лучший способ сделать это - создать глобальный фильтр действий и отслеживать там посещения.

Создать атрибут фильтра действий:

public class UserTrackingActionFilterAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext context)
    {
        base.OnResultExecuting(context);

        //save url, userId from session, etc...
    }
}

Зарегистрировать его как глобальный.фильтр в глобальном asax:

protected void Application_Start()
{      
    // Register global filter
    GlobalFilters.Filters.Add(new UserTrackingActionFilterAttribute());

    RegisterGlobalFilters(GlobalFilters.Filters);
}

Вот и все.Nice

5 голосов
/ 15 июня 2011

Я бы не стал ничего делать с представлениями Razor.

Вы захотите создать ActionFilter и прикрепить его как GlobalFilter .Пусть он сделает всю работу за вас.

Больше хорошего чтения ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...