0

Прежде всего, я хотел поблагодарить всех в StackOverflow за постоянный вклад в сообщество.Как программно добавить конечную точку домена для домена web.config

На этой ноте я нуждаюсь в помощи при манипулировании web.config сайта программно через C#. На рассматриваемом сайте размещается приложение Silverlight 5, которое взаимодействует со средой сервера через службы WCF RIA.

Код, который я пишу, является частью загрузчика для автоматического сценария сборки-развертывания, предназначенного для тестирования стека служб WCF Ria. Вопрос заключается в том, что для надлежащего тестирования сервисов код модуля должен иметь возможность связываться с Ria Services через новую конечную точку soap.

Чтобы эффективно сделать эту работу сайту необходима копией Microsoft.ServiceModel.DomainServices.Hosting DLL в его папке BIN, и новый soap конечной точки, которая позволит сделать раздел доменных служб конфигурации выглядеть следующим образом:

<system.serviceModel> 
    <domainServices> 
     <endpoints> 
      <add name="OData" .../> 
      ***<add name="Soap" type="Microsoft.ServiceModel.DomainServices.Hosting.SoapXmlEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>*** 
     </endpoints> 
    </domainServices> 
</system.serviceModel> 

В то время как я верю, что я могу изменить web.config через C# xml api, мне было интересно, есть ли другой способ сделать это через ConfigurationManager?

Благодаря

</bleepzter>

+0

предлагает использовать ServiceStack.com вместо WCF. Затем вы можете использовать любой домен/URL, который вы хотите, когда захотите. –

ответ

-1

Я бы сделал конфиг манипуляции как часть сценария сборки.

В настоящее время я использую YDeliver в качестве основы построения/развертывания в моем проекте, и поскольку он работает поверх Powershell, я манипулирую XML, используя xml api в шикарном.

+0

Конфигурирование выполняется как часть сценария развертывания, и я не могу его изменить. Это также не имеет смысла делать это в скрипте «build», потому что тестирование выполняется в сценарии «build-deploy-test» на пустых виртуальных машинах под управлением Windows Server 2008 R2 или Windows Server 2012. Кроме того, я не могу изменить установщик, или у меня должно быть два - один для тестирования и один для производства. Поскольку я пытаюсь проверить код качества продукции и производить «результаты проверки достоверности», имея двух совершенно разных инсталляторов, они побеждают цель из-за причин соблюдения. – bleepzter

+0

Также причина, по которой это -1, состоит в том, что, хотя это достойное предложение, нет необходимости изучать другой язык; вопрос был специфичным для C#. Кроме того, ответ довольно общий - очевидно, что файл конфигурации должен быть изменен. Проблема при этом заключается в том, что при развертывании веб-приложения в IIS файл конфигурации используется рабочим процессом IIS (пул приложений, под которым работает сайт). Конфигурация Configuration Manager (System.Configuration) api и определенные определения ConfigSection обеспечивают метод, который позволяет избежать блокировки файлов для непосредственного управления конфигурационным файлом. – bleepzter

+0

@bleepzter - справедливо, я вижу, откуда вы. В моих проектах до сих пор мы пытались отделить проблемы (приложение, содержащее только бизнес-логику и т. Д.), А управление конфигурацией осуществляется с помощью скриптов builds, buildconfig и инструмента CI. Хотя я согласен с вами в том, что у меня один установщик (артефакт), я считаю, что это может быть установщик, контролирующий конфигурацию, а не приложение. –

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