using System.Reflection; using System.Web; using System.Web.Mvc; using System.Web.Optimization; using System.Web.Routing; using Abp.Configuration.Startup; using Abp.Localization.Sources; using Abp.Modules; using Abp.Web.Configuration; using Abp.Web.Mvc; using Abp.Web.Mvc.Security.AntiForgery; using Abp.Web.Security.AntiForgery; using Abp.Web.SignalR; using Castle.MicroKernel.Registration; using WeApp.Api; using WeApp.Localization; using IwbZero; using Microsoft.Owin.Security; using WeApp.Configuration; namespace WeApp { [DependsOn( typeof(WeAppApplicationModule), typeof(WeAppWebApiModule), //typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER typeof(AbpWebSignalRModule), typeof(AbpWebMvcModule) )] public class WeAppWebModule : AbpModule { public override void PreInitialize() { //Configure navigation/menu Configuration.Navigation.Providers.Add(); //Configure Hangfire - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER //Configuration.BackgroundJobs.UseHangfire(configuration => //{ // configuration.GlobalConfiguration.UseSqlServerStorage("Default"); //}); Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = false; Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-WeApp"; Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-WeApp"; Configuration.Modules.AbpWebCommon().AntiForgery.AuthorizationCookieName = $".AspNet.{IwbAuthenticationTypes.ApplicationCookie}"; //扩展本地化语言 string path = HttpContext.Current.Server.MapPath("~/Localization/SourceFiles"); Configuration.Localization.Sources.Extensions.Add(new LocalizationSourceExtensionInfo( IwbZeroConsts.LocalizationSourceName, new IwbXmlFileLocalizationDictionaryProvider(path))); //IocManager.IocContainer.Register( // Component.For().Named("IwbAntiForgeryConfiguration") // .ImplementedBy().IsDefault()); //Configuration.ReplaceService(); } public override void Initialize() { IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly()); IocManager.IocContainer.Register( Component .For() .UsingFactoryMethod(() => HttpContext.Current.GetOwinContext().Authentication) .LifestyleTransient() ); AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } public override void PostInitialize() { ReplaceScriptManager(); } public void ReplaceScriptManager() { IocManager.IocContainer.Register( Component.For().Named("IWebLocalizationConfiguration") .ImplementedBy().IsDefault()); //IocManager.Register(); //IocManager.Register(); //IocManager.Register(); } } }