У меня есть служба WCF с привязкой basichttp, размещенной на http://serverA.com/service.svc, и у меня есть код клиента как
class myapp{
private servicereference1.ICar _car;
public myapp(servicereference1.ICar car){
_car = car; //DI
}
public void getCarDetails(servicereference1.ICarRequest carRequest){
..
..
..
var response = carRequest.GetDetails(carRequest);
..
..
..
}
}
, но теперь у меня есть другой сервер с той же кодовой базой / службой на http://serverB.com/service.svcи хотел бы сделать ниже для клиентской стороны без дублирования кода или добавить дополнительный метод для вызова GetBetails () * serverB *) 1008 *
class myapp{
private servicereference1.ICar _car;
public myapp(servicereference1.ICar car){
_car = car; //DI
}
public void getCarDetails(servicereference1.ICarRequest carRequest, string selectServer){
..
..
..
var response = (selectServer == "A") ? GET_SERVER_A.GetDetails(carRequest) : GET_SERVER_B.GetDetails(carRequest);
..
..
..
}
}
Возможно ли сделать что-то подобное?
Это то, чтоЯ застрял на
class myapp{
private servicereference1.ICar _car;
private servicereference2.ICar _car2;
public myapp(servicereference1.ICar car, servicereference2.ICar car2){
_car = car; //DI
_car2 = car2;
}
public void getCarDetails(servicereference1.ICarRequest carRequest, string selectServer){
..
..
..
var response = (selectServer == "A") ? servicereference1.GetDetails(carRequest) : servicereference2.GetDetails(carRequest);
//Error at servicereference2.GetDetails(carRequest); since carRequest is servicereference1.ICarRequest and not servicereference2.ICarRequest
..
..
}
}