0

我的 Web 应用程序中有一个子文件夹。它不是一个单独的应用程序,只是一个子文件夹,但它有自己的 web.config。该子文件夹中有一个 aspx 页面,需要访问其自己文件夹中的 web.config 文件中的设置。

当我从该 aspx 页面上的静态初始化程序调用 ConfigurationManager.GetSection("settingname") 时,它返回 null。为什么会发生这种情况?可能是我的设置名称错误,或者正在访问应用程序根 web.config 而不是子文件夹的 web.config?

4

1 回答 1

1

如果您希望以编程方式访问 Web.config 文件中的 ConnectionStrings、AppSettings 或其他任何内容,而不是应用程序的根目录,那么您需要使用 System.Web.Configuration 命名空间中的 WebConfigurationManager 类(请参阅http://msdn. microsoft.com/en-us/library/system.web.configuration.webconfigurationmanager.aspx)而不是 System.Configuration 命名空间中的 ConfigurationManager 类。这应该可以解决您的问题。

来自 MSDN-

“使用 WebConfigurationManager 是处理与 Web 应用程序相关的配置文件的首选方式。对于客户端应用程序,请使用 ConfigurationManager 类。”

我了解(尽管我不能将此作为事实引用)ConfigurationManager 类是为 Windows 窗体应用程序设计的,我相信在这些应用程序中只有一个 App.config 文件。

于 2013-03-02T21:05:54.473 回答