2009-03-27 17 views
2

web.config以外のサイトからASP.Net設定を読み込むようにIISサイトを設定することはできますか?web.configファイルの名前を変更し、IISに新しく名前を付けたファイルを読み込ませるにはどうすればよいですか?

コードベースにweb-dev.config、web-test.config、およびweb-prod.configの3つの設定ファイルが必要です。各IISインスタンスは、特定のファイルから読み取るように構成されます。このようにして、すべてのバージョンを互いに管理し(ワンクリックでサイト全体を展開する)、それぞれのIISインスタンスがそれぞれ固有の設定を読み込むことがわかります。

IISでweb.configの場所がわかりましたが、場所の変更方法がわかりません。

答えて

1

現在、最適な解決策は、開発と生産にさまざまな設定を使用することです。しかしこれは、.net 4とVS 2010でWeb.Debug.config、Web.Release.config、Web.Staging.config、Web.Testing.configが追加されて変更されます。これにより、必要な設定が公開されます。環境。

0

私の会社では、私たちが行っている展開の種類に応じて適切なファイルをweb.configにコピーするように設定しています。

0

私はそれがweb.configという名前でなければならないと信じています。

よくある問題があります。

大規模な組織で私が使ってきたソリューションの1つは、Webサーバー上に環境変数を設定することでした。 DEV、QA、UAT、PRODなど。コードでは、環境変数を照会して、使用しているマシンを確認し、それに応じてappSettingsの値を選択することができます。たとえば、DEVconnectionという名前のデータベース接続文字列と、別の名前のUAT接続を持つことができます。あなたのコードがあなたがUATにいることを環境変数から判断するならば、それはUATconnectionを使用します。

これは、Webサーバーで環境変数を設定できることを前提としています。この例では、サーバーを実行している管理者がこのソリューションを提案しました。

これについて甘いのは、web.configのバージョンが1つしかないということでした。

+0

この記事を通過してください。しかし、我々は変更できない特定のappSettingsキーにハードコードされているいくつかの商用コンポーネントを使用しています。 – Deane

+0

Aaargh!あなたの痛みが分かります。 – DOK

+1

私はこの回答が下落されているとは思わなかった。それは一般的に使用される良い解決策です.. –

4

私はconfigSourceプロパティを使用して、devとproductionの値が異なるセクションの外部設定ファイルを指定します。

<connectionStrings configSource="Config\ConnDev.config"/> 

次にあなたが唯一の生産のconfigsへのDevから切り替えるには一つの設定(手動またはツールを使用して)を変更する必要があります。