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