DLL

2009-03-02 6 views
2

でサイト固有のConnectionStringを使用したセットアップ:DLL

私はSQLデータベースに接続できるように、ConnectionStringを使用してDLLを持っています。 DLLを私のウェブサイトに追加するとき、私のDLLが正しく機能するためには、私のweb.configにconnectionstringを追加する必要があります(これは設計によるものです)。一度web.configに追加すると、すべて正常に動作します(期待どおり)。

問題:

I>はIISで見つかった私のウェブサイトのASP.NETアプリケーションの設定へのConnectionString既定のWebサイトを移動するときに問題がプロパティ]> [ASP.NET]タブ> [グローバル設定を編集]> [始まり.. 。>接続文字列マネージャ

私のweb.configから削除してそこに置くと、DLLがうまく動作しません。私のウェブサイトの他の場所(DLLではない)にconnectionstringを使用すれば、この方法でデータベースにアクセスすることはできますが、何らかの理由でDLLがweb.config内にある場合にしかアクセスできません。

質問:

どのように私は私のDLLは、ASP.NET構成の設定接続文字列マネージャの代わりに、web.configファイルに記載されていたconnectionStringを使用して取得できますか?

答えて

3

ConfigurationManager.ConnectionStrings経由で接続文字列を検索するのではなく、WebConfigurationManagerクラスから取得できる一般的なASP.Net構成設定のセクションを検索する必要があります。

// Get the connectionStrings section. 
ConnectionStringsSection connectionStringsSection = 
    WebConfigurationManager.GetSection("connectionStrings") 
    as ConnectionStringsSection; 

// Get the connectionStrings key,value pairs collection. 
ConnectionStringSettingsCollection connectionStrings = 
    connectionStringsSection.ConnectionStrings; 

// Get the collection enumerator. 
IEnumerator connectionStringsEnum = 
    connectionStrings.GetEnumerator(); 
+0

これは私のdllの中で正しいのですか? – EdenMachine

+0

また、Linq to SQLは、DBMLを保存するたびにdb connectionstringsを上書きします。そのため、私はいつもノートパッドで開いて、それをオーバーライドしてからすぐにビルドする必要があります。 – EdenMachine

+0

はい、DLLの中にあります。 – jro