Динамически устанавливаемый URL веб-службы

Сценарий: я запускаю код на клиенте, который подключается к серверу и использует веб-службу для получения данных о списке SharePoint. Я использую «справочник служб» Visual Studio 2010, чтобы получить веб-службу для моего сайта SP и получить свои данные из списка. Оно работает. Теперь, как мне написать код, чтобы, когда я хочу перейти от Test к Production, мои вызовы веб-службы по-прежнему работали? Обратите внимание, что веб-служба - это веб-служба SharePoint, я ее не писал. Я только этим пользуюсь. Возможно ли то, что я предлагаю? У меня действительно есть возможность гарантировать, что сайт будет одинаковым (за исключением URL-адресов) в обеих средах (например, сделать резервную копию сайта SP и запустить его в производство). Спасибо за любые предложения.

Резюме:

В основном я ищу лучший способ перейти от теста к производству без повторной компиляции моего кода, который использует веб-сервис SP. Кроме того, в качестве примечания: если кто-то знает, насколько похожими должны быть тестовые / производственные сайты sharepoint [для того, чтобы веб-сервис работал на обоих без изменения всего, кроме URL-адреса]… это будет полезной информацией.

Решение

Файл конфигурации проекта можно использовать для указания местоположения веб-службы. .Svcdatamap и другие файлы в проекте VS предназначены только для использования во время разработки, а URL-адрес, который фактически используется для подключения к веб-службе SharePoint, передается в качестве аргумента в System.Data.Services.Client.DataServiceContext объект. Это только косвенно связано, но для создания собственной веб-службы WCF см. Эту ссылку . Кстати, веб-служба будет работать без перекомпиляции везде, где список SharePoint имеет то же имя списка, а столбец, который вы запрашиваете, имеет такое же имя.

6
задан KyleM 30 July 2011 в 15:57
поделиться