IwbWebModule.cs 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 ContractService.Api;
  14. using ContractService.Configuration;
  15. using ContractService.Localization;
  16. using IwbZero;
  17. using Microsoft.Owin.Security;
  18. namespace ContractService
  19. {
  20. [DependsOn(
  21. typeof(ContractServiceApplicationModule),
  22. typeof(ContractServiceWebApiModule),
  23. //typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
  24. typeof(AbpWebSignalRModule),
  25. typeof(AbpWebMvcModule)
  26. )]
  27. public class ContractServiceWebModule : AbpModule
  28. {
  29. public override void PreInitialize()
  30. {
  31. //Configure navigation/menu
  32. Configuration.Navigation.Providers.Add<ContractServiceNavigationProvider>();
  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. //防XSRF跨站攻击
  39. Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = true;
  40. Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-ContractService";
  41. Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-ContractService";
  42. Configuration.Modules.AbpWebCommon().AntiForgery.AuthorizationCookieName = $".AspNet.{IwbAuthenticationTypes.ApplicationCookie}";
  43. //扩展本地化语言
  44. string path = HttpContext.Current.Server.MapPath("~/Localization/SourceFiles");
  45. Configuration.Localization.Sources.Extensions.Add(new LocalizationSourceExtensionInfo(
  46. IwbZeroConsts.LocalizationSourceName, new IwbXmlFileLocalizationDictionaryProvider(path)));
  47. }
  48. public override void Initialize()
  49. {
  50. IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
  51. IocManager.IocContainer.Register(
  52. Component
  53. .For<IAuthenticationManager>()
  54. .UsingFactoryMethod(() => HttpContext.Current.GetOwinContext().Authentication)
  55. .LifestyleTransient()
  56. );
  57. AreaRegistration.RegisterAllAreas();
  58. RouteConfig.RegisterRoutes(RouteTable.Routes);
  59. BundleConfig.RegisterBundles(BundleTable.Bundles);
  60. }
  61. public override void PostInitialize()
  62. {
  63. ReplaceScriptManager();
  64. }
  65. public void ReplaceScriptManager()
  66. {
  67. IocManager.IocContainer.Register(
  68. Component.For<IAbpWebLocalizationConfiguration>().Named("IWebLocalizationConfiguration")
  69. .ImplementedBy<ContractServiceWebLocalizationConfiguration>().IsDefault());
  70. //Configuration.ReplaceService<, >();
  71. //IocManager.Register<ILocalizationScriptManager, IwbLocalizationScriptManager>();
  72. //IocManager.Register<INavigationScriptManager, IwbNavigationScriptManager>();
  73. //IocManager.Register<ISettingScriptManager, IwbSettingScriptManager>();
  74. }
  75. }
  76. }