DNN学习笔记:DNN类中的ProviderType字段
在DNN的许多类中都有ProviderType常量,例如:SqlDataProvider中: Private Const ProviderType As String = "data";XMLLoggingProvider中:Private Const ProviderType As String = "logging"。
刚开始看的时候,觉得很突兀,为什么会出现一个这样的常量,没有什么用嘛。
后来,发觉ProviderType常量值对应配置文件wen.config中的元素,该元素的defaultProvider属性,对应该类的名称,例如:
<data defaultProvider="SqlDataProvider">
<providers>
<clear />
<add name="SqlDataProvider" type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~\Providers\DataProviders\SqlDataProvider\" objectQualifier="" databaseOwner="dbo" />
</providers>
</data>
;
<logging defaultProvider="XMLLoggingProvider">
<providers>
<clear />
<add name="XMLLoggingProvider" type="DotNetNuke.Services.Log.EventLog.XMLLoggingProvider, DotNetNuke.XMLLoggingProvider" configfilename="LogConfig.xml.resources" providerPath="~\Providers\LoggingProviders\XMLLoggingProvider\" />
</providers>
</logging>
。
估计ProviderType常量就是与该类对应的配置文件元素的名称。
在Provider.vb中有对该配置元的调用:
' 读取配置文件 "dotnetnuke/"
Public Shared Function GetProviderConfiguration(ByVal strProvider As String) As ProviderConfiguration
Return CType(ConfigurationSettings.GetConfig("dotnetnuke/" & strProvider), ProviderConfiguration)
End Function
在这里读取出配置文件的信息,然后在Reflection类中,调用这些信息,生成特定的类对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)