Как собрать статистическую информацию об использовании приложений в ASP.NET MVC? - PullRequest
0 голосов
/ 12 июня 2009

Я хотел бы собрать статистическую информацию, такую ​​как PageViews, Количество комментариев для каждого пользователя и т. Д. Я думал об использовании шаблона наблюдателя. Как мне реализовать это в ASP.NET MVC?

Ответы [ 3 ]

1 голос
/ 12 июня 2009

Для случаев, когда вы не можете собрать информацию с помощью прямого запроса к базе данных, я бы подумал о реализации этого с помощью атрибутов фильтра. Разработайте собственный фильтр, который собирает необходимую вам информацию и архивирует ее. Украсьте действия, для которых фильтр должен собирать информацию, с помощью фильтра. См. страницу MSDN о том, как создать пользовательский фильтр действий.

 [PageViewCounter]
 public ActionResult Index()
 {
 }

 public class PageViewCounterAttribute : ActionFilterAttribute
 {
      public override OnActionExecuting( ActionExecutingContext filterContext )
      {
         ...
      }  
 }
0 голосов
/ 10 июля 2009

недавно я обнаружил События DDD и Атрибут ThreadStatic, используемый в этом тексте , как вы думаете?

0 голосов
/ 12 июня 2009

Схема наблюдателя здесь не совсем подходит. Функциональность, которую вы описываете, должна быть зафиксирована с использованием той модели, которую использует ваше приложение. Например, если вы хотите отслеживать количество комментариев для каждого пользователя, это означает, что у вас, скорее всего, есть таблица базы данных комментариев. Вы можете просто написать запрос SQL, содержащий список пользователей и количество комментариев, которые они создали в этой таблице.

что-то вроде

select userid, count(*) from comments group by userid
...