私は2つのCOM +アプリケーションをC#で構築しています。彼らは構成にアクセスする必要があります。そのため、(サーバーのコンテキストにあるため)COM +アプリケーションのApplication Root Directoryをapplication.manifestファイルとapplication.configファイルを含むディレクトリに設定します。私がこのように構築した最初のコンポーネントが機能します。第二の要素は、私がそれを書いたやり方で一つの意味のある違いを見つけることができません。COM +コンポーネントが静的コンテキストの構成を読み取っていません
ConfigurationManager.GetSection("unity")
を使用して静的コンテキストから構成にアクセスしようとすると、nullが返されます。非静的コンテキストから同じものを呼び出すと、期待される結果が返されます(セクションが返されます)。最初のコンポーネントは静的なコンテキストから正しく呼び出すため、何が間違っていますか?
DLL 1ではなく、DLL 2作品:
DLL 2でprivate static IUnityContainer m_unityContainer = new UnityContainer().LoadConfiguration()
作品:
private IUnityContainer m_unityContainer = new UnityContainer().LoadConfiguration()
または
private IUnityContainer m_unityContainer; public void Process() { m_unityContainer = new UnityContainer().LoadConfiguration(); }