c# - 访问 DotNetNuke 模块中的 .config 文件

标签 c# asp.net dotnetnuke-module configuration-files dotnetnuke-7

我已经实现了一个使用用户定义控件的 DNN 模块(这个用户定义控件已经实现了 GoogleAnalytics 跟踪以供我们自己使用)。

控件需要访问一个配置文件以获取我们的谷歌分析帐户的配置设置。例如账号代码(UA-dddddd-dd)等

我的问题: 由于我在 DotNetNuke 上安装模块,将配置文件放置在什么位置或默认情况下它将访问什么配置文件?

下面提供了控件中尝试访问配置文件的代码片段:

string path = Assembly.GetExecutingAssembly().CodeBase;
FrameworkConfig.instance = new FrameworkConfig(ConfigurationManager.OpenMappedMachineConfiguration(new ConfigurationFileMap(path + ".config")));

注意:FrameworkConfigSystem.Configuration 对象的包装类。

简而言之,我需要知道通过 DNN 模块调用时 Assembly.GetExecutingAssembly().CodeBase 返回什么?其他选择?

最佳答案

如果您将 key 添加到 DNN 站点的 web.config 的应用程序设置部分,您可以使用以下方法检索它们:

DotNetNuke.Common.Utilities.Config.GetSetting("settingname");

但是,这是一种更好的做法,在这种情况下创建一个 Settings 是有意义的在您的模块中控制并将信息存储在那里。

您可以通过创建一个继承自 DotNetNuke.Entities.Modules.ModuleSettingsBase 的 ascx 控件来做到这一点并将设置存储在您模块的基本设置字典中。

您的其他模块 View 控件可以通过类似的方式访问设置 Dictionary对象称为 Settings那是 ModuleUserControlBase 的一部分类。

有关如何使用模块设置的示例,请查看 this DNN7 tutorial video and article .包含所有代码的示例项目位于本文的相关文件部分。

关于c# - 访问 DotNetNuke 模块中的 .config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18495952/

相关文章:

c# - 在 C# 中的 mongodb aggregate() 函数驱动程序的管道中使用 $and

c# - 如何禁用 ToolStripButton?

javascript - 在 Javascript 函数 (ASP.net) 上使用句点的千位分隔符

dependency-injection - DotNetNuke 模块开发 - 使用 StructureMap 的 IoC

iis-7 - DotNetNuke 模块不断将自身转换为 IIS7 中的应用程序

.net - 在 DotNetNuke 中获取当前用户

c# - C#/.NET 中是否有 bool.Implies(bool) 扩展方法?

c# - 我在哪里可以找到有关 Windows 处于待机模式的信息

asp.net - 从VMware Workstation 8访问主机上的localhost进行ASP.NET开发测试

c# - 在配置部分中创建动态键值对