0

Web アプリケーションにサブフォルダーがあります。これは別のアプリケーションではなく、単なるサブフォルダーですが、独自の web.config があります。そのサブフォルダーには、独自のフォルダー内の web.config ファイルの設定にアクセスする必要がある aspx ページがあります。

その aspx ページの静的初期化子から ConfigurationManager.GetSection("settingname") を呼び出すと、null が返されます。なぜこれが起こるのでしょうか?設定名が間違っているか、サブフォルダーの web.config ではなく、アプリケーション ルートの web.config がアクセスされている可能性がありますか?

4

1 に答える 1

1

アプリケーションのルート以外の web.config ファイル内の ConnectionStrings、AppSettings、またはその他のものにプログラムでアクセスする場合は、System.Web.Configuration 名前空間で WebConfigurationManager クラスを使用する必要があります ( http://msdn. System.Configuration 名前空間の ConfigurationManager クラスの代わりに、microsoft.com /en-us/library/system.web.configuration.webconfigurationmanager.aspx )。これで問題が解決するはずです。

MSDN から -

「Web アプリケーションに関連する構成ファイルを操作するには、WebConfigurationManager を使用することをお勧めします。クライアント アプリケーションの場合は、ConfigurationManager クラスを使用してください。」

ConfigurationManager クラスは、App.config ファイルが 1 つしかないと思われる Windows フォーム アプリケーション用に設計されていることは理解しています (ただし、これを事実として引用することはできません)。

于 2013-03-02T21:05:54.473 に答える