47 lines
1.8 KiB
C#
47 lines
1.8 KiB
C#
using System.Web.Mvc;
|
|
using System.Web.Routing;
|
|
using Microsoft.Practices.Unity;
|
|
using Portoa.Web;
|
|
using Portoa.Web.Models;
|
|
using Portoa.Web.Unity;
|
|
using UnityGenerics;
|
|
using VideoGameQuotes.Api;
|
|
using VideoGameQuotes.Api.Persistence;
|
|
using VideoGameQuotes.Web.Security;
|
|
using VideoGameQuotes.Web.Services;
|
|
|
|
namespace VideoGameQuotes.Web {
|
|
public class MvcApplication : MvcApplicationBase {
|
|
|
|
protected override void ConfigureModelBinders(ModelBinderDictionary binders) {
|
|
binders.Add<Region, FlagEnumModelBinder>();
|
|
}
|
|
|
|
protected override void ConfigureUnity() {
|
|
Container
|
|
.AddNewExtension<ConfigureLog4Net>()
|
|
.Configure<ILog4NetConfigurator>()
|
|
.SetName("VideoGameQuotes.Web")
|
|
.UseXml();
|
|
|
|
Container
|
|
.AddNewExtension<LogAllMethodCalls>()
|
|
.RegisterType<ICurrentUserProvider, SessionBasedUserProvider>()
|
|
.RegisterType<IsValidUserAttribute>(new InjectionProperty<IsValidUserAttribute>(attr => attr.UserProvider))
|
|
.RegisterType<IUserService, UserService>()
|
|
.RegisterType<IQuoteService, QuoteService>()
|
|
.RegisterType<IUserRepository, UserRepository>();
|
|
}
|
|
|
|
protected override void RegisterRoutes(RouteCollection routes) {
|
|
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
|
|
routes.IgnoreRoute("media/{*anything}");
|
|
|
|
routes.MapRoute("about", "about", new { controller = "Home", action = "About" });
|
|
routes.MapRoute("contact", "contact", new { controller = "Home", action = "Contact" });
|
|
routes.MapRoute("submit", "submit", new { controller = "Quote", action = "Submit" });
|
|
routes.MapRoute("individual-quote", "q/{id}/{*text}", new { controller = "Quote", action = "Quote" }, new { id = @"\d+" });
|
|
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
|
|
}
|
|
}
|
|
} |