У меня небольшие проблемы с WCF и при загрузке сгенерировано app.config
.
Это приложение WPF, которое использует службу WCF. Если приложение запущено без app.config
, оно будет создано из встроенного ресурса. Этот только что созданный app.config
содержит параметры конфигурации WCF, такие как привязка. Но когда я пытаюсь создать канал, я получаю исключение: Could not find endpoint element with name 'WSHttpBinding_IService
. Если я перезапущу приложение с только что созданным app.config
, все будет работать как положено.
Из того, что я могу понять, WCF уже загрузил значения из пропущенного app.config
до того, как я создам новое. Несмотря на то, что к этому времени нет никаких вызовов для любой функции WCF. Приложение использует (очень старое) Caliburn.Micro и Autofac, и создает новый app.config
в конструкторе в ApplicationBootstrapper
:
class ApplicationBootStrapper : TypedAutofacBootStrapper<MainViewModel>
{
public ApplicationBootStrapper() : base()
{
MakeSureConfigFileExists();
}
// The rest of my code
}
Любые советы, как мне заставить WCF перечитать app.config
?
Edit:
Возможно, это дубликат, но мне не удалось обновить раздел system.serviceModel
.
Я пробовал:
System.Configuration.ConfigurationManager.RefreshSection("system.serviceModel");
Редактировать 2:
С тех пор я переместил код, который генерирует недостающий app.config
, чтобы он запускался в самом начале OnStartup
в классе начальной загрузки:
protected override void OnStartup(object sender, StartupEventArgs e)
{
MakeSureConfigFileExists();
// The rest of my code
}