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

  • 相关阅读:
    webpack学习遇到大坑(纯属自己记录)
    git忽略某些文件提交
    数据结构(一)创建并遍历线性列表
    数据结构二 顺序表的创建
    JqGrid动态改变列名
    构造DataTable
    计算机存储数据的单位
    .NET Core在WindowsServer服务器部署(使用Web Deploy发布)
    mysql ERROR 1045 (28000): 错误解决办法
    ASP.NET取得Request URL的各个部分
  • 原文地址:https://www.cnblogs.com/cloudsu/p/11163076.html
Copyright © 2011-2022 走看看