using System; using System.IO; using System.Web; using System.Web.Mvc; using System.Web.Routing; using ApacKernel; using ApacKernel.Diagnostics; using ApacKernel.Web.MVC; using Now.Repositories.CSV; using Now.Web.Controllers; namespace Now.Web { // Note: For instructions on enabling IIS6 or IIS7 classic mode, // visit http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : HttpApplication { protected void Application_Start() { ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine()); MvcHelper.LandingController = "Dashboards"; MvcHelper.LandingPage = "Sales"; AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); DependencyInjection.Configure(); var path = Path.Combine(HttpContext.Current.Server.MapPath("~/App_Data"), "sitesLookup.csv"); CsvSitesLookup.Instance.Load(path); Log.GetLogger().Debug("Dashboard is initialized."); } public override string GetVaryByCustomString(HttpContext context, string arg) { if (arg == "MeasureKey") { var o = ApacConfig.AppSettings.IsDevelopment ? null : context.Application["MeasureKey"]; if (o == null) { o = Guid.NewGuid(); context.Application["MeasureKey"] = o; } return o.ToString(); } return base.GetVaryByCustomString(context, arg); } } }