Не удалось найти элемент конечной точки в файле .Config.

Добрый день всем,

Мы столкнулись с некоторой проблемой конфигурации при извлечении конечной точки из файла конфигурации при создании объекта ChannelFactory.

Не удалось найти элемент конечной точки с именем «независимо от службы» и контрактом «независимо от контракта» в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего приложения не найден файл конфигурации или с тем, что в клиентском элементе не удалось найти элемент конечной точки, соответствующий этому имени.

Обычным решением для такого рода исключений является добавление файла .config в исполняемый файл, который запускает этот код. В данном случае мы запускаем этот код на com+, поэтому я создал файл dllhost.exe.config со всеми конечными точками.

Интересно то, что я использую эту службу также из клиентского приложения, и там моя платформа wcf без проблем находит ту же конечную точку. Я думаю, что другие конечные точки в dllhost.exe.config работают нормально.

Кстати, проблемный прокси-сервер, использующий эту службу, представляет собой настраиваемый код Enterprise Library. При отладке кода он автоматически запускается под процессом dllhost.

Есть ли способ узнать, какой файл конфигурации ищет конечную точку?

Спасибо.


person mikabuka    schedule 07.07.2013    source источник


Ответы (1)


Итак, после нескольких дней проверки и тестирования мы обнаружили 2 способа решения проблемы:

  • dllhost.exe.config - редактируется/создается/обновляется не вручную, а из MSI. Вероятно, причина в том, что он находится в каталоге system32, а windows его блокирует.
  • Лучший способ - создать для службы COM+ корневой каталог приложения и поместить туда 2 файла

    • ServiceName.config - Contains list of endpoints
    • ServiceName.manifest - Contains 3 rows
      • <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>
person mikabuka    schedule 16.07.2013