2012-05-02 4 views
3

Файл ServiceReferences.ClientConfig, который содержит различные настройки служб WCF, использует приложение Silverlight. Приятно и легко, за исключением случаев, когда вы их устанавливаете, вы не можете изменить их позже, не изменяя xap.Возможно ли перезаписать ресурсы приложения Silverlight во время выполнения?

Я хочу, чтобы эти настройки были настроены с меньшей болью. Существует несколько вариантов:

  • Добавить выделенный раздел в web.config, где администратор может их изменить. Перенесите эти настройки на Silverlight, а затем на объект. Разберите его в silverlight, затем создайте канал вручную. Что-то, чего я бы предпочел избежать.
  • Было бы неплохо, если бы мы могли сказать, что приложение silverlight загружает ServiceReferences.ClientConfig не из ресурсов xap, а из указанного uri. Таким образом, я мог бы разместить эту конфигурацию вдоль web.config. Ницца. Невозможно, хотя.
  • Если бы я мог заменить ресорвер потока ресурсов, это тоже сработало бы. К сожалению, это тоже не представляется возможным. Существует IApplicationResourceStreamResolver, но он является внутренним.
  • Возможно, есть способ переписать поток ресурсов приложения после запуска приложения silverlight?

ответ

2

Я думаю, вы хотите создать конфигурационный файл servicesclient во время выполнения.

Если это так, просто создайте объект System.ServiceModel.BasicHttpBinding и назначьте свойства и назначьте URL-адрес службы System.ServiceModel.EndpointAddress. Этот объект привязки и объект endpointaddress могут быть затем назначены конструктору объекта клиента и voila!

+0

Правильно, это возможно. Это также потребует от меня написать код для хранения настроек, разбора их, передачи клиенту. Но я действительно хочу, чтобы повторно использовать существующий код - там уже есть конфиг, который имеет все необходимые настройки, он находится в форме, которую я хочу (xml). Кажется, что невозможно изменить их после развертывания приложения. И вот о чем идет речь - как сохранить конфигурацию вне xap, но сделать ее доступной для silverlight. –

Смежные вопросы