2013-07-07 5 views
0

Добрый день всем,Не удалось найти конечную точку элемента в файле .config

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

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

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

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

К слову, проблемный прокси-сервер, который использует эту услугу, представляет собой индивидуальный код корпоративной библиотеки. При отладке кода он defenetly запускается под процессом dllhost.

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

спасибо.

ответ

0

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

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

    • ServiceName.config - содержит список конечных точек
    • ServiceName.manifest - содержит 3 строки
      • <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>