WCF: exePath должен быть указан, если он не работает внутри автономного exe-файла
Дорогие все, у меня есть проблема с сервисом WCF.
Администрирование проекта WPF (exe) пытается прочитать конфигурационный файл одного из сервисов WCF (Read AppSettings).
Приложение работает правильно, успешно читает и записывает файл App.config в режиме отладки (как VS host Services автоматически (Service host environment)), но когда я развертываю службы на IIS, я сталкиваюсь с нижеприведенным исключением.
Вот подробное описание исключения
exePath должен быть указан, если он не работает внутри автономного exe-файла.
система типов.ArgumentException:
Источник:
Система.Конфигурация
Данные:
Трассировка стека: в системе.Конфигурация.Конфигурационный менеджер.OpenExeConfigurationImpl(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath, Boolean preLoad)
в Business.XXXService.Админсервис.ReadEmailConfiguration(GenericRequest`1 запрос) в E:\Source\MB сервисы\исходный код\исходный код\бизнес\NFS.Бизнес.COSService\ServicesImpl\AdminService.cs:строка 388
Как я понимаю, в режиме разработки существует файл aap.config для служб (проект библиотеки служб WCF), но при развертывании на IIS конфигурация считывается из Web.config
Поэтому я реализовал оба варианта.
Вот реализация чтения конфигурационного файла, но все еще сталкиваюсь с проблемой на развернутом сервисе.
Configuration configuration = null; if (HttpContext.Current != null) configuration = WebConfigurationManager.OpenWebConfiguration("~"); else configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (configuration == null) { response.Status.Code = ReturnCode.DataNotFound.GetStringValue(); response.Status.Message = "Unable to read configuration"; return response; }
Я думаю, что нет необходимости исследовать в app/web.config, поэтому я не прикрепляю конфигурационный файл
заранее спасибо
Камрань