protected void Application_Start() { //initialize engine context EngineContext.Initialize(false); //start schedules tasks if (DataSettingsHelper.DatabaseIsInstalled()) { TaskManager.Instance.Initialize(); TaskManager.Instance.Start(); } //set dependency resolver var dependencyResolver = new NopDependencyResolver(); DependencyResolver.SetResolver(dependencyResolver); //model binders ModelBinders.Binders.Add(typeof(BaseNopModel), new NopModelBinder()); if (DataSettingsHelper.DatabaseIsInstalled()) { //remove all view engines ViewEngines.Engines.Clear(); //except the themeable razor view engine we use ViewEngines.Engines.Add(new ThemableRazorViewEngine()); } //Add some functionality on top of the default ModelMetadataProvider ModelMetadataProviders.Current = new NopMetadataProvider(); //Registering some regular mvc stuf //ViewEngines.Engines.Add(new ThemableRazorViewEngine()); AreaRegistration.RegisterAllAreas(); if (DataSettingsHelper.DatabaseIsInstalled() && EngineContext.Current.Resolve <StoreInformationSettings>().DisplayMiniProfilerInPublicStore) { GlobalFilters.Filters.Add(new ProfilingActionFilter()); } RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); //For debugging //RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes); DataAnnotationsModelValidatorProvider .AddImplicitRequiredAttributeForValueTypes = false; ModelValidatorProviders.Providers.Add( new FluentValidationModelValidatorProvider(new NopValidatorFactory())); //register virtual path provider for embedded views var embeddedViewResolver = EngineContext.Current.Resolve <IEmbeddedViewResolver>(); var embeddedProvider = new EmbeddedViewVirtualPathProvider(embeddedViewResolver.GetEmbeddedViews()); HostingEnvironment.RegisterVirtualPathProvider(embeddedProvider); }
protected void Application_Start() { //we use our own mobile devices support (".Mobile" is reserved). that's why we disable it. var mobileDisplayMode = DisplayModeProvider .Instance .Modes .Where(x => x.DisplayModeId == DisplayModeProvider.MobileDisplayModeId) .FirstOrDefault(); if (mobileDisplayMode != null) { DisplayModeProvider.Instance.Modes.Remove(mobileDisplayMode); } //initialize engine context EngineContext.Initialize(false); bool databaseInstalled = DataSettingsHelper.DatabaseIsInstalled(); //set dependency resolver var dependencyResolver = new NopDependencyResolver(); DependencyResolver.SetResolver(dependencyResolver); //model binders ModelBinders.Binders.Add(typeof(BaseNopModel), new NopModelBinder()); ModelBinders.Binders.Add(typeof(DateTime), new DateModelBinder()); ModelBinders.Binders.Add(typeof(DateTime?), new DateModelBinder()); ModelBinders.Binders.DefaultBinder = new TrimModelBinder(); if (databaseInstalled) { //remove all view engines ViewEngines.Engines.Clear(); //except the themeable razor view engine we use ViewEngines.Engines.Add(new ThemeableRazorViewEngine()); } //Add some functionality on top of the default ModelMetadataProvider ModelMetadataProviders.Current = new NopMetadataProvider(); //Registering some regular mvc stuff AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); //StackExchange profiler if (databaseInstalled && EngineContext.Current.Resolve <StoreInformationSettings>().DisplayMiniProfilerInPublicStore) { GlobalFilters.Filters.Add(new ProfilingActionFilter()); } //fluent validation DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false; ModelValidatorProviders.Providers.Add(new FluentValidationModelValidatorProvider(new NopValidatorFactory())); //register virtual path provider for embedded views var embeddedViewResolver = EngineContext.Current.Resolve <IEmbeddedViewResolver>(); var embeddedProvider = new EmbeddedViewVirtualPathProvider(embeddedViewResolver.GetEmbeddedViews()); HostingEnvironment.RegisterVirtualPathProvider(embeddedProvider); //start scheduled tasks if (databaseInstalled) { TaskManager.Instance.Initialize(); TaskManager.Instance.Start(); } }
protected void Application_Start() { //initialize engine context EngineContext.Initialize(false); bool databaseInstalled = DataSettingsHelper.DatabaseIsInstalled(); //set dependency resolver var dependencyResolver = new NopDependencyResolver(); DependencyResolver.SetResolver(dependencyResolver); //model binders ModelBinders.Binders.Add(typeof(BaseNopModel), new NopModelBinder()); if (databaseInstalled) { //remove all view engines ViewEngines.Engines.Clear(); //except the themeable razor view engine we use ViewEngines.Engines.Add(new ThemeableRazorViewEngine()); } //Add some functionality on top of the default ModelMetadataProvider ModelMetadataProviders.Current = new NopMetadataProvider(); //Registering some regular mvc stuf AreaRegistration.RegisterAllAreas(); if (databaseInstalled && EngineContext.Current.Resolve <StoreInformationSettings>().DisplayMiniProfilerInPublicStore) { GlobalFilters.Filters.Add(new ProfilingActionFilter()); } RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false; ModelValidatorProviders.Providers.Add(new FluentValidationModelValidatorProvider(new NopValidatorFactory())); //register virtual path provider for embedded views var embeddedViewResolver = EngineContext.Current.Resolve <IEmbeddedViewResolver>(); var embeddedProvider = new EmbeddedViewVirtualPathProvider(embeddedViewResolver.GetEmbeddedViews()); HostingEnvironment.RegisterVirtualPathProvider(embeddedProvider); //mobile device support if (databaseInstalled) { if (EngineContext.Current.Resolve <StoreInformationSettings>().MobileDevicesSupported) { //Enable the mobile detection provider (if enabled) HttpCapabilitiesBase.BrowserCapabilitiesProvider = new FiftyOne.Foundation.Mobile.Detection.MobileCapabilitiesProvider(); } else { //set BrowserCapabilitiesProvider to null because 51Degrees assembly always sets it to MobileCapabilitiesProvider //it'll allow us to use default browserCaps.config file HttpCapabilitiesBase.BrowserCapabilitiesProvider = null; } } //start scheduled tasks if (databaseInstalled) { TaskManager.Instance.Initialize(); TaskManager.Instance.Start(); } }