我已经实现了一个使用用户定义控件的 DNN 模块(这个用户定义控件已经实现了 GoogleAnalytics 跟踪以供我们自己使用)。
控件需要访问一个配置文件以获取我们的谷歌分析帐户的配置设置。例如账号代码(UA-dddddd-dd)等
我的问题: 由于我在 DotNetNuke 上安装模块,将配置文件放置在什么位置或默认情况下它将访问什么配置文件?
下面提供了控件中尝试访问配置文件的代码片段:
string path = Assembly.GetExecutingAssembly().CodeBase;
FrameworkConfig.instance = new FrameworkConfig(ConfigurationManager.OpenMappedMachineConfiguration(new ConfigurationFileMap(path + ".config")));
注意:FrameworkConfig
是System.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/