zoukankan      html  css  js  c++  java
  • IOptions and context

    Option在是配置,一般存储值,在全局是可读的,其值初始化一般在启动时,通过Configure通过配置文件,动态配置,中途不更改。

    Startup的ConfigureServices()添加下面的代码

    可以通过  Configure<TOptions>(IConfiguration config)  或  Configure<TOptions>(Action<TOptions> configureOptions)

    在需要读取配置的地方只需通过构造函数注入即可:如

     public IndexModel(
                IOptions<SettingManagementPageOptions> options, 
                IServiceProvider serviceProvider)
            {
                _serviceProvider = serviceProvider;
                _options = options.Value;
            }
    

    AbpApplicationCreationOptions,在AbpApplication构建函数进创建,它的值通过创建工厂时,委托方式进行,属于赋值在前创建在后,紧接着调用委任实现赋值。

    IServiceCollection用于可以Autofac,(还可以提前在IHostBuilder),Serilog等三方服务提前注入

    2、AbpDbContextOptions

    DefaultPreConfigureActions

    DefaultConfigureAction

    PreConfigureActions

    而context是提供运行时上下文,作了对象通讯传递使用,常用作在方法参数传递

    比如ApplicationInitializationContext,用于模块的应用运行时提供ServiceProvider,其创建在AbpApplication创建的应用时,ModuleManager进行应用运行各个状态进行调用 

    ServiceConfigurationContext:提供模块服务注册时使用,AbpApplication创建就需要IServicesCollection,它再通过ServiceConfigurationContext进行包装一下,再传递给各个应用配置各个阶段,在ConfigureServices结束后设置为null

  • 相关阅读:
    MYSQL删除表的记录后如何使ID从1开始
    Python chardet 字符编码判断
    中文搜索引擎技术揭密
    python 处理中文网页时,忽略特殊字符,忽略异常
    cmd 之基础命令
    自己写的删除主键的存储过程
    朝花夕拾delphi的三层结构
    ERWIN中的一对多标识关系和一对多非标识关系
    翻页用的SQL
    关于 Ajax 的一篇通俗易懂的文章
  • 原文地址:https://www.cnblogs.com/cloudsu/p/11163076.html
Copyright © 2011-2022 走看看