Я унаследовал проект веб-сайта, который использует несколько веб-служб WCF, размещенных на сервере BizTalk. У нас есть две среды, в которых мне нужно развернуть этот проект, с разными URL-адресами для разных серверов BizTalk.
т.е. В промежуточной среде мне нужно указать сервисы на xx.xx.xx.101
В среде Live мне нужно указать их на xx.xx.xx.102
или на что угодно.
В настоящее время у нас есть все URL-адреса, хранящиеся в ключах в файле web.config, чтобы мы могли их динамически изменять. К сожалению, это не работает.
Если я изменю URL-адрес в файле web.config на что-то отличное от того, с чем был скомпилирован проект, я получаю сообщение об ошибке при вызове службы:
Сервер не распознал значение заголовка HTTP SOAPAction:
xx.xx.xx.101 \ ServiceName \ MethodName
Мне сказали, что единственный известный им способ развертывания - это обновить URL-адреса web.config, изменить все веб-ссылки в Visual Studio для соответствия, нажать «Обновить веб-ссылку» для каждой ссылки в Visual Studio, а затем скомпилировать.
Я написал предварительно созданный сценарий NAnt для прохождения и замены всех экземпляров URL, найденных в любом месте в каталоге проекта, и даже это не имеет никакого значения.
Когда я нажимаю "Обновить ссылку", из службы должно быть что-то еще, но я не уверен, что.
У кого-нибудь есть идеи? Есть ли способ сделать это программно?