トップ回答者
SQL Server の接続文字列をWeb.ConfigのConnectionStringsから取得する方法

質問
-
お世話になります。
SQL Serverに接続する際の接続文字列 ( SqlConnection(...)の引数部分 )にWeb.Configで指定されたConnectionStringの値を
使用したいのですが、以下の部分がよくわかりません。Dim rootWebConfig As System.Configuration.Configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(※1)
Dim connString As System.Configuration.ConnectionStringSettings = rootWebConfig.ConnectionStrings.ConnectionStrings("conStr")上記のコーディングで、connString.ConnectionStringに Web.Configで指定した"conStr"の内容が格納されるのですが、問題は※1の部分です。
実際にはこのプロジェクトで作成したWeb.Configを参照したいのですが、
※1を Nothingとすると C:\Windows\Microsoft.NET\Framework\V2.0.50727\Config\Web.Config を参照し
"/" とすると、 C:\Inetpub\wwwroot\Web.Config を参照してしまいます。目的のパスを指定するにはどのようにすればよいのでしょうか
回答
-
リクエストされた aspx のフォルダに対応する設定であれば、WebConfigrationManager.ConnectionStrings を参照すればよいです。
Dim connString As System.Configuration.ConnectionStringSettings = WebConfigrationManager.class=identifier>ConnectionStrings("conStr")
OpenWebConfigration は、リクエストされた aspx とは別の場所にある設定値を取得したい場合や、WebConfigurationFileMap を定義したりする場合に必要になりますが、各リクエストに対応した値であれば、WebConfigrationManager の static member から簡単にアクセスできます。
すべての返信
-
リクエストされた aspx のフォルダに対応する設定であれば、WebConfigrationManager.ConnectionStrings を参照すればよいです。
Dim connString As System.Configuration.ConnectionStringSettings = WebConfigrationManager.class=identifier>ConnectionStrings("conStr")
OpenWebConfigration は、リクエストされた aspx とは別の場所にある設定値を取得したい場合や、WebConfigurationFileMap を定義したりする場合に必要になりますが、各リクエストに対応した値であれば、WebConfigrationManager の static member から簡単にアクセスできます。