【问题标题】:how to access external database in dnn module如何在 dnn 模块中访问外部数据库
【发布时间】:2014-05-13 04:37:12
【问题描述】:

我想为我的 dnn 项目访问另一个数据库,而不是在安装期间为 dnn 配置的数据库。

如果我在 dnn 配置的 web 配置文件的 appsettings 中添加一个键/值,我可以访问连接字符串。

这是正确的方法吗?或者我需要添加新的配置文件来添加连接字符串吗?如果是这样,我如何访问 dnn C# 编译模块中的连接字符串

【问题讨论】:

  • 在我看来,我认为最好的做法是在 web.config 的 appsettings 部分添加一个键/值。您还可以在 dnn 模块中管理此连接字符串的设置:例如在模块设置中。这取决于您到底需要什么。

标签: web-config dotnetnuke


【解决方案1】:

web.config 方法可能是最好的方法,但如果您要远程安装模块,则必须记住设置 web.config 文件,或使用 DNN 中可用的 XMLMerge 功能。我有一个在我的 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 更改它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多