2012-05-01 13 views
0

私のソリューション内に複数のプロジェクトがあります。私は、WCFサービス参照の参照を保持することに専念するプロジェクトを持っています(WCFサービスの実装ではなく、参照を保持しています)。このプロジェクトを「GlobalWebServices」と呼ぶことができます。私はこのGlobalWebServicesプロジェクトを参照する多くの実行可能アプリケーションを持っています。これらのアプリケーションを実行して参照Webサービスを呼び出そうとすると、呼びたいServiceReferencesの設定の詳細が失われます。設定の設定は、クラスライブラリプロジェクト「GlobalWebServices」に属します。.netのクラスライブラリプロジェクトから設定を参照するためのベストプラクティス

これらのServiceReferenceバインディングの詳細を保存する最も良い方法は何ですか?私は、実行中のアプリケーションの.configファイルにそれぞれのファイルをコピーしたくない。というのも、ファイルサイズが不安定で、情報を複製しているからだ。私はすでに各サービスのバインディング接続情報を生成しているので、 'GlobalWebServices'アプリケーションでServiceReferenceバインディングをハードコーディングしたくありません(Visual Studioは親切にも私のために行っていますが、それでも)。理想的には、GlobalWebServicesライブラリがビルド時に(現在はapp.configに格納されている)バインディング情報をクラスライブラリに自動的に含めるようにしたいと思います。

このためのベストプラクティスソリューションは何ですか?

答えて

1

configSectionを使用してweb.configのさまざまな部分を分けることができます。

もっと良い答えがあるかもしれませんが、私の最初の考えは、クラスライブラリプロジェクトの設定ファイルを持つことです。設定ファイルのプロパティを "Content"と "Copy if Newer"に設定します。これにより、1つの場所でソース管理を行うことができます。しかし、このオプションの欠点は、いったんデプロイされると、いくつかの異なる場所にありますが、設定ファイルを使用するアプリケーションごとに設定が異なる必要がある場合には、これも良いことです。

サービスをプログラムで構成し、その構成をファイルに書き出すことは可能です。私はあなたが別の方法で行くことができ、別のXMLファイルを持っていることを意味すると思って、バインディングなどをそこからapp.config自体でなくロードしてください。

関連する問題