我想访问我的dnn项目的另一个数据库,而不是在安装期间为dnn配置的数据库。
如果我在dnn配置的web配置文件中的appsettings中添加一个键/值,我就能够访问连接字符串。
这是正确的方法吗?或者我是否需要添加新的配置文件以添加连接字符串?如果是这样,我如何访问dnn C#编译模块中的连接字符串
答案 0 :(得分:1)
web.config方法可能是最好的方法,但如果您要远程安装模块,则必须记住设置web.config文件,或使用可用的XMLMerge功能在DNN。我已经在我的DNNSimpleArticle模块https://dnnsimplearticle.codeplex.com/SourceControl/latest#cs/dnnsimplearticle.dnn中为web.config文件添加信息了一个示例,请查看配置部分
<component type="Config">
<config>
<configFile>web.config</configFile>
<install>
<configuration>
<nodes>
<node path="/configuration/dotnetnuke/sitemap/providers" action="update" key="name" collision="overwrite">
<add name="DNNSimpleArticleSiteMapProvider" type="Christoc.Modules.dnnsimplearticle.Providers.Sitemap.Sitemap, DNNSimpleArticle" providerPath="~\DesktopModules\dnnsimplearticle\Providers\Sitemap\" />
</node>
</nodes>
</configuration>
</install>
<uninstall>
<configuration>
<nodes />
</configuration>
</uninstall>
</config>
</component>
这将添加新的站点地图提供程序,但您可以调整连接字符串。
另外两个选项。
对模块中的连接字符串进行硬编码,而不是从灵活性的角度来看。
创建模块设置并在那里存储连接字符串。这将允许您至少通过DNN中的UI更改它。