星空网 > 软件开发 > ASP.net

[Architect] ABP(现代ASP.NET样板开发框架) 启动配置

本节目录

  • 配置ABP
  • 配置Module
  • 为模块创建配置

 

ABP在模块启动的时候提供了配置功能.

配置ABP

在模块的PreInitialize 方法中做配置.如下:

public class SimpleTaskSystemModule : AbpModule{  public override void PreInitialize()  {    //Add languages for your application    Configuration.Localization.Languages.Add(new LanguageInfo("en", "English", "famfamfam-flag-england", true));    Configuration.Localization.Languages.Add(new LanguageInfo("tr", "Türkçe", "famfamfam-flag-tr"));    //Add a localization source    Configuration.Localization.Sources.Add(      new 

 

ABP是基于模块化设计的.不同的模块都可以配置ABP.例如,在不同的模块通过navigation provider提供独立的菜单项到主菜单上.(See localization and navigation documents for details)

 

配置模块

除了系统内置的配置,1个模块也可以实现IAbpModuleConfigurations为模块提供配置点.例如:

...using Abp.Web.Configuration;...public override void PreInitialize() {  Configuration.Modules.AbpWeb().SendAllExceptionsToClients = true;}...

在这个例子中,我们配置AbpWeb module发送所有异常到客户端.

不是每个模块必须定义配置.通常模块在不同的应用中重用时,可以在启动时做配置.

 

为模块创建配置

假设我们有1个名为MyModule 的module,并且他有一些配置属性.首先,我们为这些属性创建1个类.

public class MyModuleConfig{  public bool SampleConfig1 { get; set; }  public string SampleConfig2 { get; set; }}

然后我们在MyModule 的PreInitialize 方法中注册这个类.(这样它就可被注入了)

IocManager.Register<MyModuleConfig>();

 

最后,我们为IModuleConfigurations 创建1个扩展方法来获取MyModuleConfig.

public static class MyModuleConfigurationExtensions{  public static MyModuleConfig MyModule(this IModuleConfigurations moduleConfigurations)  {    return moduleConfigurations.AbpConfiguration      .GetOrCreate("MyModuleConfig",        () => moduleConfigurations.AbpConfiguration.IocManager.Resolve<MyModuleConfig>()      );  }}

 

现在,其他模块可以在启动的时候配置这个模块.(在需要MyModule的PreInitialize 方法中)

Configuration.Modules.MyModule().SampleConfig1 = false;Configuration.Modules.MyModule().SampleConfig2 = "test";

有时,MyModule需要使用这个配置,你可以注入并使用.例如:

public class MyService : ITransientDependency{  private readonly MyModuleConfig _configuration;  public MyService(MyModuleConfig configuration)  {    _configuration = configuration;  }  public void DoIt()  {    if (_configuration.SampleConfig2 == "test")    {      //...    }  }}

这样,可以在ABP系统中集中的创建模块配置.




原标题:[Architect] ABP(现代ASP.NET样板开发框架) 启动配置

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

物流股票:https://www.goluckyvip.com/tag/2831.html
阿里跨境电商:https://www.goluckyvip.com/tag/28310.html
阿里跨境电商靠谱吗:https://www.goluckyvip.com/tag/28311.html
阿里跨境电商怎么做:https://www.goluckyvip.com/tag/28313.html
阿里铁军:https://www.goluckyvip.com/tag/28314.html
阿里推广神器:https://www.goluckyvip.com/tag/28315.html
宜宾江安-宜宾江安县旅游景点大全:https://www.vstour.cn/a/404232.html
浏阳市里面哪里好玩的地方 浏阳市内有什么好玩的地方:https://www.vstour.cn/a/404233.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流