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 IwbZero; using Microsoft.Owin.Security; using WePlatform.Api; using WePlatform.Configuration; using WePlatform.Localization; namespace WePlatform { [DependsOn( typeof(WePlatformDataModule), typeof(WePlatformApplicationModule), typeof(WePlatformWebApiModule), typeof(AbpWebSignalRModule), //typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER typeof(AbpWebMvcModule))] public class WePlatformWebModule : 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-WePlatform"; Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-WePlatform"; 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() { //GlobalFilters.Filters.Remove(IocManager.Resolve()); //GlobalFilters.Filters.Add(IocManager.Resolve()); ReplaceScriptManager(); } public void ReplaceScriptManager() { IocManager.IocContainer.Register( Component.For().Named("IWebLocalizationConfiguration") .ImplementedBy().IsDefault()); //IocManager.Register(); //IocManager.Register(); //IocManager.Register(); } public class IwbAntiForgeryConfiguration : AbpAntiForgeryConfiguration { public IwbAntiForgeryConfiguration() : base() { TokenCookieName = "XSRF-TOKEN-WePlatform"; } } public class IwbMvcAntiForgeryManager : AbpMvcAntiForgeryManager { public IwbMvcAntiForgeryManager() : base(new IwbAntiForgeryConfiguration()) { } } } }