[WCF] Клиент и два разных сервиса
От: Spiceman  
Дата: 11.09.09 10:24
Оценка:
Привет.

Возник вопрос можно ли такое сделать и если можно то как?

Есть два WCF-сервиса. Оба реализуют почти одинаковый интерфейс. Почти означает, что может отличаться пространство имен, имя и наличие некоторых методов. Общие методы имеют одинаковую сигнатуру.

Есть клиент, которому нужно работать либо с одним, либо с другим сервисом. То есть, на клиенте есть интерфейс, содержащий все методы обоих сервисов. Но маппинг на клиенте настраивается в атрибутах. Например,
[System.ServiceModel.ServiceContractAttribute(Namespace="WcfService", ConfigurationName="IService1")]
public interface IService1
{
[System.ServiceModel.OperationContractAttribute(Action="WcfService/IService1/Payment", ReplyAction="WcfService/IService1/PaymentResponse")]
WcfService.Result Payment(string Customer, decimal Amount);
}

Метод Payment есть в обоих сервисах, но пространство имен и имя интерфейса будет различным.

Можно ли где-нибудь в конфигах настраивать такой маппинг методов клиента на методы сервера?

Чтобы было еще понятнее. Есть две организации с двумя сервисами с одинаковыми методами. Есть клиент, созданный для одного сервиса. Не хочется его переделывать для вызова другого сервиса. Хочется просто настроить. Как это реализовать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.