IwbWebModule.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using System.Reflection;
  2. using System.Web;
  3. using System.Web.Mvc;
  4. using System.Web.Optimization;
  5. using System.Web.Routing;
  6. using Abp.Configuration.Startup;
  7. using Abp.Localization.Sources;
  8. using Abp.Modules;
  9. using Abp.Web.Configuration;
  10. using Abp.Web.Mvc;
  11. using Abp.Web.SignalR;
  12. using Castle.MicroKernel.Registration;
  13. using WeOnlineApp.Api;
  14. using WeOnlineApp.Localization;
  15. using IwbZero;
  16. using Microsoft.Owin.Security;
  17. using WeOnlineApp.Configuration;
  18. namespace WeOnlineApp
  19. {
  20. [DependsOn(
  21. typeof(WeOnlineAppApplicationModule),
  22. typeof(WeOnlineAppWebApiModule),
  23. //typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
  24. typeof(AbpWebSignalRModule),
  25. typeof(AbpWebMvcModule)
  26. )]
  27. public class WeOnlineAppWebModule : AbpModule
  28. {
  29. public override void PreInitialize()
  30. {
  31. //Configure navigation/menu
  32. Configuration.Navigation.Providers.Add<WeOnlineAppNavigationProvider>();
  33. //Configure Hangfire - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
  34. //Configuration.BackgroundJobs.UseHangfire(configuration =>
  35. //{
  36. // configuration.GlobalConfiguration.UseSqlServerStorage("Default");
  37. //});
  38. Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = false;
  39. Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-WeOnlineApp";
  40. Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-WeOnlineApp";
  41. Configuration.Modules.AbpWebCommon().AntiForgery.AuthorizationCookieName = $".AspNet.{IwbAuthenticationTypes.ApplicationCookie}";
  42. //扩展本地化语言
  43. string path = HttpContext.Current.Server.MapPath("~/Localization/SourceFiles");
  44. Configuration.Localization.Sources.Extensions.Add(new LocalizationSourceExtensionInfo(
  45. IwbZeroConsts.LocalizationSourceName, new IwbXmlFileLocalizationDictionaryProvider(path)));
  46. }
  47. public override void Initialize()
  48. {
  49. IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
  50. IocManager.IocContainer.Register(
  51. Component
  52. .For<IAuthenticationManager>()
  53. .UsingFactoryMethod(() => HttpContext.Current.GetOwinContext().Authentication)
  54. .LifestyleTransient()
  55. );
  56. AreaRegistration.RegisterAllAreas();
  57. RouteConfig.RegisterRoutes(RouteTable.Routes);
  58. BundleConfig.RegisterBundles(BundleTable.Bundles);
  59. }
  60. public override void PostInitialize()
  61. {
  62. ReplaceScriptManager();
  63. }
  64. public void ReplaceScriptManager()
  65. {
  66. IocManager.IocContainer.Register(
  67. Component.For<IAbpWebLocalizationConfiguration>().Named("IWebLocalizationConfiguration")
  68. .ImplementedBy<WeOnlineAppWebLocalizationConfiguration>().IsDefault());
  69. //IocManager.Register<ILocalizationScriptManager, IwbLocalizationScriptManager>();
  70. //IocManager.Register<INavigationScriptManager, IwbNavigationScriptManager>();
  71. //IocManager.Register<ISettingScriptManager, IwbSettingScriptManager>();
  72. }
  73. }
  74. }