Веб-сервисы с динамическими URL - PullRequest
1 голос
/ 14 мая 2011

У меня есть проект с несколькими ссылками на веб-сервисы, и я создал два разных конфигурационных файла (один для dev / stage и один для производства) с разными URL-адресами сервисов. Независимо от того, какой URL-адрес веб-сервисы были изначально добавлены, он работает нормально, но другой не работает.

Например, если я использую кнопку «добавить веб-ссылку», чтобы добавить службу на сервере1, все работает нормально, когда я запускаю свое приложение. Если я затем отключу файл конфигурации, чтобы он пытался использовать идентичный сервис на сервере2, мое приложение больше не работает. Каждый вызов .net к веб-сервису возвращает ноль. Если я использую fiddler, чтобы увидеть XML, возвращаемые серверами, они выглядят одинаково.

Кроме того, каждый раз, когда веб-службы перестраиваются (даже если ничего не меняется), мне приходится обновлять все ссылки в моем приложении. Не знаю, связано ли это.

Что может вызвать это и есть ли способ это исправить?

1 Ответ

0 голосов
/ 14 мая 2011

Я делаю большой проект, который имеет это.

Пользователь создает учетную запись со своей конечной точкой веб-службы, поэтому мне нужно, чтобы они были динамическими.

Хитрость заключается в том, чтобы всегда менять адрес конечной точки перед каждым вызовом службы.

пример услуги Find

FindClient wsFin = new FindClient();
wsFin.Endpoint.Address =
    new System.ServiceModel.EndpointAddress(clientUrl.TrimEnd('/') + "/Find.svc");

как примечание: для служб WCF я предпочел создать прокси-сервер, используя svcutil вместо добавления ссылки, но для asmx веб-служб я добавил ссылку:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...