The next generation of the Teknik Services. Written in ASP.NET.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Mvc;
using System.Web.UI;
using Teknik.Configuration;
using Teknik.Helpers;
namespace Teknik.Filters
public class TrackingFilterAttribute : ActionFilterAttribute
public override void OnActionExecuting(ActionExecutingContext filterContext)
public override void OnActionExecuted(ActionExecutedContext filterContext)
string title = string.Empty;
if (filterContext.Controller.ViewBag != null)
title = filterContext.Controller.ViewBag.Title;
HttpRequestBase request = filterContext.HttpContext.Request;
// Fire and forget. Don't need to wait for it.
Task.Run(() => AsyncTrackPageView(request, title));
private void AsyncTrackPageView(HttpRequestBase request, string title)
Config config = Config.Load();
Tracking.TrackPageView(request, config, title);