Как лучше всего перенести веб-службы FedEx .net из среды разработки в производственную среду?

FedEx не предоставляет услуги UDDI, но его необходимо загрузить в виде файла WSDL. После завершения разработки WSDL для разработки необходимо заменить рабочим WSDL. Я использую Visual Studio 2008, и простая замена WSDL не работает автоматически в производстве, но ее необходимо повторно импортировать и перестроить проект. Это создает две разные двоичные подписи как для среды разработки, так и для рабочей среды. Мне нужно выполнить это с помощью некоторых файлов конфигурации, чтобы мои двоичные файлы были одинаковыми для моей среды разработки и производственной среды. Любые идеи??? Спасибо!

Единственное изменение в файлах WSDL — это значение местоположения.

 <port name="RateServicePort" binding="ns:RateServiceSoapBinding">
      <s1:address location="https://ws.fedex.com:443/web-services" />
    </port>

person WinFXGuy    schedule 25.10.2012    source источник
comment
Вы уверены, что вам нужно изменить не только URL-адрес веб-службы, но и весь WSDL?   -  person AlG    schedule 25.10.2012
comment
Вы смотрели на: stackoverflow.com/questions/5231582/?   -  person Styxxy    schedule 25.10.2012
comment
Мы помещаем URL-адрес веб-службы в файлы конфигурации. Когда мы переходим к производству, у нас есть копия файлов конфигурации с URL-адресом производства.   -  person Dave Zych    schedule 25.10.2012
comment
В этом сценарии это не работает, поскольку эти службы не являются UDDI. Visual Studio 2008 помещает это в сгенерированные файлы reference.cs и settings.cs.   -  person WinFXGuy    schedule 25.10.2012
comment
WSDL не используется во время выполнения. Ответ от Al G ниже правильный.   -  person John Saunders    schedule 25.10.2012


Ответы (1)


Обычно мы переопределяем URL-адрес, подобно тому, как сказал Дэйв Зич, в следующих строках:

prod = new Service.Service();
// ... read configuration into cfg ...
prod.Url = cfg.ServiceURL;

URL-адрес меняется в зависимости от среды через конфигурацию. WSDL непротиворечив, как и базовые классы.

person AlG    schedule 25.10.2012
comment
Когда вы говорите прочитать конфигурацию в cfg, это файл web.config/app.config? - person WinFXGuy; 26.10.2012
comment
Это я немного обобщил. Я имею в виду: загрузите URL-адрес из вашей конфигурации и установите его в элемент URL-адреса. Где хранить - решать вам. - person AlG; 26.10.2012