zoukankan      html  css  js  c++  java
  • Provider详解

    对provider的一点学习笔记,怕以后忘了记下来便于以后学习:

    示例:

    有一个MessageModel实体类,对它的操作有Insert()和Get()方法,持久化数据在SqlServer数据库中或Xml文件里。根据配置文件中的配置来决定数据持久化方案是使用SqlServer数据库还是Xml文件。

    还有一个message的API 还有一个继承与ProviderBase的操作Message的抽象类 其包括两个子类来实现Message的持久化SqlMessageProvider XmlMessageProvider

    剩下两个是Message的Provider的集合类:MessageProviderCollection,和Message的Provider的配置类:MessageProviderConfigurationSession

    其执行过程是用Message的API(Message类)执行Insert和Get方法,在实例化类Message时先调其构造函数,执行Initialize初始化,其操作用语句 messageConfig = (MessageProviderConfigurationSection)ConfigurationManager.GetSection("MessageProvider")

    ;找到配置文件中的“MEssageProvider”节点,然后利用 类ProvidersHelper中的InstantiateProviders函数调用InstantiateProvider函数执行每一个配置文件中Provider的Initialize            ProviderBase provider = Activator.CreateInstance(settingsType) as ProviderBase;


                provider.Initialize(providerSettings.Name, providerSettings.Parameters);

    从而使每个配置文件中的Provider获取配置文件的Connection

    然后我们就可以跟据Provider的默认设置来返回具体的Providers


  • 相关阅读:
    数据库 | 建表常用语句
    心得 | 撰写项目申报书
    工具 | 时间转化
    SpringBoot | 启动异常 | 显示bulid success 无 error信息
    120. 三角形最小路径和
    63. 不同路径 II
    SpringBoot | Velocity template
    SpringBoot | quartz | @DisallowConcurrentExecution
    SpringBoot | Hibernate @Transient 注解
    Java | 基础归纳 | 静态方法与实例方法的区别
  • 原文地址:https://www.cnblogs.com/f204eng/p/1372084.html
Copyright © 2011-2022 走看看