2012-03-16 10 views
2

IISでホストされている.NET 3.5 WCFサービスがあります。プロジェクトサービスライブラリには、いくつかの構成設定(データベース接続文字列など)を持つapp.configファイルがあります。私は、Visual StudioにWebプロジェクトを介してプロジェクトを展開します。このプロジェクトは、エンドポイントを管理するweb.configを生成します。私のサービスライブラリのapp.config設定をweb.configに入れる方法はありますか? IISのホストサービスは、設定デザイナーのデフォルト値を使用しているようで、app.configにコピーされた明示さえ無視しているようです。私はこれはDLLがapp.configをutliizeすることができないという事実と関係があると推測しています。IIS WCFサービスがapp.configを使用しない

サービスアプリケーションは、名前空間から設定を取得するように設定されています。

+1

WCFサービスがIISでホストされている場合、Webアプリケーションのように動作し、** web.config **を使用します - そのapp.config ....ではなく.NET設定システムクラスライブラリのために 'app.config'を使うことはありません - 設定を**ホスティングアプリの**設定に入れる必要があります。 –

答えて

1

外部設定ファイルを使用できますか?

あなたのweb.configファイル:

<config> 
    ... 
    <connectionStrings configSource="myConnections.config"></connectionStrings> 
</config> 

そして外部myConnections.configファイル:

<connectionStrings> 
    <add ... /> 
</connectionStrings> 

あなたはあなたのメインのweb.configファイルから参照、複数の外部の設定ファイルを持つことができます。どのように/なぜこれを行うべきかの良い説明については、this blog postを参照してください。

こちらがお役に立てば幸いです。

+0

サービスコードは現在、[MyAssembly] .Properties.Settings.Default名前空間から設定を引き出すように構成されています。外部接続構成ファイルが同じ名前空間内の設定を定義しますか? –

+0

私は持っているシンプルなコンソールアプリケーション用の設定ファイルを作成し、設定に接続文字列を作成しました。私のapp.configでは、次のように表示されます: ' 。だから私は私の接続文字列を外部ファイルに引き出し、上記の私の答えと同じように参照するように変更することができないのはなぜか分かりません。それは動作するようです。 –

+1

あなたのアイデアを枝分かれさせて、私はweb.configに直接設定を置くことができたことに気付きました。私は接続文字列を(デフォルトでは空の)セクションに置き、そこにappSettings sectionGroup(app.configのような)を追加しました。ここで重要な点は、サービスライブラリが探しているアセンブリ名を使用していたことです。ありがとう。私は、外部設定ファイルがどのように動作するかを見ていますが、web.configに入れておけば十分です。 –

関連する問題