Перемещение app.config в пользовательский путь для WCF? - PullRequest
2 голосов
/ 10 ноября 2010

Мне нужно загрузить пользовательский app.config для WCF.

Я пробовал решение под названием " Перемещение app.config на пользовательский путь ", но, к сожалению, этот методпросто не работает для WCF, он по-прежнему выдает ошибку о том, что не может найти файл .config (поправьте меня, если я ошибаюсь).

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Благодаря клиенту WCF без app.config / web.config от Kishore Gorjala я полностью исключил использование app.config следующим образом:

EndpointAddress endpointAddress = new EndpointAddress("http://myServiceURL.com");
WSHttpBinding serviceBinding = new WSHttpBinding();
serviceBinding.ReceiveTimeout = new TimeSpan(0, 0, 120);
MyServiceClient myClient = new MyServiceClient(serviceBinding, endpointAddress);

Согласно этому блогу, вы можете попробовать использовать BasicHttpBinding вместо WSHttpBinding.

Этот метод также упоминается в блоге Минимальный WCF-сервер / клиент БЕЗ app.config .

Экспериментальные доказательства: это сработало отлично - и больше не нужно беспокоиться о app.exe.config.

0 голосов
/ 10 ноября 2010

Существует метод загрузки app.config из пользовательского расположения, см. Загрузка конфигурации WCF из разных файлов на стороне клиента, автор Pablo M. Cibraro (он же Cibrax) .

Этот метод основан на переопределении CustomClientChannel конструктором, который загружает пользовательский файл app.config, а затем использует следующий код для создания клиента:

CustomClientChannel<ICalculator> channel = new CustomClientChannel<ICalculator>("OtherConfig.config");
ICalculator client = channel.CreateChannel();

Загрузите образец проекта Microsoft Visual Studio здесь .

Чтобы исправить ошибки компиляции в Visual Studio 2010, обновите оба проекта до .NET 4.0 и перезагрузите пять ссылочных сборок, которые он не может найти. Добавить его в свой проект просто: просто добавьте дополнительный класс и замените исходную строку создания канала новой, использующей пользовательский файл app.config.

0 голосов
/ 10 ноября 2010

Как видно из вопроса, на который вы ссылались, это не работает. На самом деле, он не работает нигде в .NET - проблема не относится к WCF.

В AppDomain имеется только один файл конфигурации. Период. Вам всегда нужно будет скопировать настройки из файла app.config DLL в один файл конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...