powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF Как реализовать в клиенте обработку нескольких сервисов
2 сообщений из 2, страница 1 из 1
WCF Как реализовать в клиенте обработку нескольких сервисов
    #38336680
shiyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть клиент и сервис, с которым он взаимодействует. Всё хорошо работает, когда клиент обращается к единственному сервису:

using Client.ServiceReference1;
...
BackupMonitorClient proxy1 = new BackupMonitorClient()
proxy.GetFiles()

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

using Client.ServiceReference1;
using Client.ServiceReference2;
using Client.ServiceReference3;

появляется неднозначность при создании дополнительных прокси-классов:

BackupMonitorClient proxy2 = new BackupMonitorClient()

проблема решается добавлением названия пространства имен перед именем класса:

Client.ServiceReference2.BackupMonitorClient Service2 = new Client.ServiceReference2.BackupMonitorClient()

А теперь вопрос: клиент написан на WinForms и вся логика приложения написана в зависимости от того, какой сервис выбран на форме (например, показать список файлов на машине PC01). Хранить список прокси-классов в какой-нибудь коллекции и использовать обобщенную переменную proxy не получится, т.к. формально эти классы лежат в разных пространствах имен и имеют соответственно разные типы (хотя контракты служб у них одинаковые). Соотвественно, вызывать методы сервиса на стороне клиента не получится, т.к. не понятно к какому прокси-классу обращаться (proxy1 или proxy2):

private void btnOK_Click(object sender, EventArgs e)
{
proxy1.GetFiles();//???????
proxy2.GetFiles();//??????

//хотелось бы использовать вот так:
var proxy = new Object();
proxy = listBox1.SelectedValue;//определяем выбранный прокси-класс
proxy.GetFiles();//ошибка: "object" не содержит определения для "GetFiles" и не был найден метод расширения "GetFiles"

}

Есть ли какое-нибудь решение, чтобы обойти эту проблему? Использую VS2010 .NET Framework 4.0
...
Рейтинг: 0 / 0
WCF Как реализовать в клиенте обработку нескольких сервисов
    #38349849
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiyan,
если еще актуально,
создавать один и тот же экземпляр Client.ServiceReference1.BackupMonitorClient но подсовывать ему разные конечные точки, создавать их динамически
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF Как реализовать в клиенте обработку нескольких сервисов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]