1

別のプロジェクトから継承したかなり高価なライブラリがあります。このアセンブリは、Unity を介したインターセプトを使用しており、設計時の構成のために精巧な Web.config が必要です。MSMQ WCF サービス内からこのアセンブリを使用しようとしていますが、アセンブリ内のコードが Enterprise Library によってホストされている DB 接続を開こうとするとエラーが発生します。

依存関係の解決に失敗しました。タイプ = "ServicesImplementation.EntityMaster.IEntityRepository"、名前 = "(none)"。例外が発生しました: 解決中。例外は次のとおりです。InvalidOperationException - 現在の型である ServicesImplementation.EntityMaster.IEntityRepository はインターフェイスであり、構築できません。タイプマッピングがありませんか?

私の質問は、WCF サービスからすべての構成責任を負う必要があるか、またはこの構成が参照アセンブリ内にカプセル化されているかです。

4

1 に答える 1

1

すべての構成を .config ファイルに含める必要があります。アプリケーションが構成データを取得するためのデフォルトのソースです。また、IIS でホストする場合は web.config を使用し、そうでない場合 (Windows サービスまたはアプリ) は app.config を使用する必要があることに注意してください。セクション構成を別のファイルに抽出し、メイン構成から参照することができます。

例えば:

Assembly1 には、サービス定義とホスト ロジックが含まれています。
Assembly2 は実際には Assembly1 サービスをホストします。

この場合、すべてのサービス構成は Assembly2 *.config ファイルに存在する必要があります。

于 2012-10-09T22:09:36.517 に答える