非常に古いASP.NET 2.0 Webアプリケーションを継承しました。web.config with .dllのapp.config
このアプリケーションでは、クラスライブラリプロジェクトをサポートしています。 DataAccessクラスライブラリには、ConnString1という名前の接続文字列を持つapp.config(およびsetting.settingsファイル)があります。
私はいつも.DLLがapp.config/setting.settingsファイルを持つことができないと思っていました(少なくともそれらは含めることができますが使用されません)ので、これは私にとって紛らわしいものです。
web.configには、サーバーログイン資格情報は同じで、サーバー名は異なるConnString1という名前の接続文字列もあります。
Visual Studio DEBUGからアプリケーションを実行すると、app.config/settingsファイルにある接続文字列が使用され、web.config/machine.configで定義されたものは使用されません。
私は.DLLがこれをしないと思っていましたが、代わりにweb.configを使用しましたか?
しかし、RELEASEモードでこのアプリケーションをプロダクションサーバー(テストウェブサイト)にプッシュすると、web.configに正しい接続文字列が使用されているようです。
誰でもこれを説明できますか?
嬉しいです。あなたの次のステップは、関係するさまざまな人々との会議を開催し、接続文字列がマシンまたは環境設定ファイルに属していないことを説明することです。 – NotMe
これは本当だとは思わない。接続文字列をmachine.configに入れると、各ステップで設定を手作業で変更することなく、dev - > test - > productionからアプリ(およびその設定ファイル)を宣伝することができます。 – Jason
正しい。私たちは20の異なるウェブサイトを持つ環境にいます。それらはすべて、列レベルの暗号化のために同じ接続文字列を使用します(データベースレベルで列を暗号化/復号化するために1回のログインのみが許可されます)。この接続文字列をmachine.configに入れる方が簡単です。これは、Web.configで四半期ごとに変更する必要があります(これは当社のセキュリティ標準で要求されています)。 – Sean