Files
Orchard/src/Orchard.Web/Global.asax.cs
Louis DeJardin 04bb3d90dc Refactoring IModule and ITheme related services
Changing component layering to allow more efficient dependencies
Marking several interfaces and services obsolete to produce warnings
Changing ITheme to FeatureDescriptor as a first step

--HG--
branch : perf
extra : rebase_source : 905b69eb1cc6ed05750908e41a2d0846dde22001
2010-11-04 16:04:50 -07:00

51 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Web.Hosting;
using System.Web.Mvc;
using System.Web.Routing;
using Autofac;
using Orchard.Environment;
using Orchard.Environment.Extensions.Loaders;
namespace Orchard.Web {
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : HttpApplication {
private static IOrchardHost _host;
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}
protected void Application_Start() {
RegisterRoutes(RouteTable.Routes);
_host = OrchardStarter.CreateHost(MvcSingletons);
_host.Initialize();
}
protected void Application_BeginRequest() {
Context.Items["originalHttpContext"] = Context;
_host.BeginRequest();
}
protected void Application_EndRequest() {
_host.EndRequest();
GC.Collect();
}
static void MvcSingletons(ContainerBuilder builder) {
builder.Register(ctx => RouteTable.Routes).SingleInstance();
builder.Register(ctx => ModelBinders.Binders).SingleInstance();
builder.Register(ctx => ViewEngines.Engines).SingleInstance();
}
}
}