У меня есть 2 приложения COM +, встроенных в C #. Им нужен доступ к конфигурации, поэтому для их получения (поскольку они находятся в контексте сервера) я установил корневой каталог приложения в приложении COM + на каталог, содержащий файл application.manifest и файл application.config. Первый компонент, который я построил таким образом, работает. Второй компонент, который я не могу найти ни единого значимого различия в том, как я его написал, - нет.
Если вы попытаетесь получить доступ к конфигурации, используя ConfigurationManager.GetSection("unity")
из статического контекста, она вернет ноль. Вызов одного и того же из нестатического контекста дает ожидаемые результаты (возвращается раздел). Так как первый компонент работает правильно, вызывая его из статического контекста, что я делаю не так?
Работает в DLL 1, но не в DLL 2:
private static IUnityContainer m_unityContainer = new UnityContainer().LoadConfiguration()
Работает в DLL 2:
private IUnityContainer m_unityContainer = new UnityContainer().LoadConfiguration()
или
private IUnityContainer m_unityContainer;
public void Process()
{
m_unityContainer = new UnityContainer().LoadConfiguration();
}