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


posted @ 2009-01-08 17:56  老王博客  阅读(827)  评论(0编辑  收藏  举报