|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using FluentFilters;
using FluentFilters.Criteria;
using Microsoft.Practices.Unity;
using Website.Core;
using Website.Core.Filters;
namespace Website
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
#region Properties
/// <summary>
/// Gets Unity container instance.
/// </summary>
/// <value>The container.</value>
public IUnityContainer Container
{
get { return UnityContainerFactory.GetContainer(); }
}
#endregion
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
);
}
private void RegisterFluentFilters()
{
// Use custom IFilterRegistry
IFilterRegistry registry = Container.Resolve<UnityFilterRegistry>();
// Register filters
registry.Add<BrowserDetectionFilter>(c =>
{
c.Exclude(new ControllerFilterCriteria("Account"));
});
// Register IFilterRegistry in UnityContainer
Container.RegisterInstance(registry);
}
private void RegisterControllerFactory()
{
ControllerBuilder.Current.SetControllerFactory(Container.Resolve<UnityControllerFactory>());
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
RegisterFluentFilters();
RegisterControllerFactory();
}
}
}
|
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.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.