Повторное использование сервисных прокси - PullRequest
0 голосов
/ 15 марта 2010

У меня есть набор веб-сервисов, к которым я подключаюсь с помощью Silverlight Client. Я использую прокси, сгенерированные «Добавить ссылку на службу» или SLSVCUTIL.exe инструментом для подключения к этой службе. До сих пор я использовал только один единственный сервис. Теперь я хочу использовать другой сервис на том же сервере.

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

CustomerService.SaveCustomer (Клиент-клиент);

OrderService.CheckCustomerLevel (Клиент-клиент);

Проблема в том, что когда я добавляю ссылку на второй сервис, я не могу повторно использовать одно и то же пространство имен для второго (ошибка VS), и когда я использую другое пространство имен, сгенерированные классы, хотя по существу одинаковы, постоянно находятся в другом пространстве имен, следовательно, разные, и я получаю два класса Customer в двух разных пространствах имен.

В любом случае вокруг этого? Мне просто нужно иметь два набора сервисов, повторно используя класс Customer. Я уже пробовал установить флажок «повторное использование типов в сборке / во всех сборках» при создании прокси-классов, но, похоже, это не дает никакого эффекта.

любая помощь очень ценится.

1 Ответ

1 голос
/ 15 марта 2010

Я сталкивался с этой проблемой раньше, и единственное решение, которое я смог найти, - это объединить оба веб-сервиса в один веб-сервис. Похоже, что это является ограничением способа добавления сервисных ссылок / SLSvcUtil.

Если вы используете Silverlight 4, вы можете попробовать Совместное использование сборки Silverlight / .NET , чтобы обойти это (хотя я сам не пробовал). Другими словами, скомпилируйте сборку, содержащую ваши объекты передачи данных в Silverlight, а затем поделитесь ею с бэкэндом .NET / WCF. Таким образом, если вы выберете «Повторное использование типов в сборках», оно (теоретически) будет повторно использовать существующие типы Silverlight для обеих ссылок на службы.

...