- demo_and_source.zip
- DemoTracking.sln
- Lib
- Microsoft.Practices.ServiceLocation.dll
- Microsoft.Practices.Unity.Configuration.dll
- Microsoft.Practices.Unity.dll
- Newtonsoft.Json.dll
- TestMvc
- TestWeb
- TestWinForms
- TestWPF
- TestWPFWithUnity
- Tracking
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Microsoft.Practices.Unity;
using Tracking.Serialization;
using Tracking.DataStoring;
using System.Web.SessionState;
using Tracking;
using Tracking.Unity;
using Tracking.Unity.ASPNET;
namespace TestMvc
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
static UnityContainer _uc = new UnityContainer();
public override void Init()
{
base.Init();
//register appropriate SettingsTrackers
_uc.RegisterType<SettingsTracker>("USER", new RequestLifetimeManager(), new InjectionFactory(container => new SettingsTracker(new ObjectStore(new ProfileStore("TrackingData"), new JsonSerializer())) { Name = "USER" }));
_uc.RegisterType<SettingsTracker>("SESSION", new SessionLifetimeManager(), new InjectionFactory(container => new SettingsTracker(new ObjectStore(new SessionStore(), new JsonSerializer())) { Name = "SESSION" }));
//IMPORTANT: use the TrackingControllerFactory to create controllers
//and inject dependencies into them and apply tracking
ControllerBuilder.Current.SetControllerFactory(new TrackingControllerFactory(_uc));
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I have been an a(tra)ctive software developer since 2005 mostly working on .NET. Currently living and working in Zagreb Croatia. I have earned my masters degree in Computer Science at the Faculty of Electrical Engineering and Computer Science in Zagreb in 2006.