Служба доступа, размещенная на двух разных серверах - PullRequest
0 голосов
/ 01 июля 2019

У меня есть служба 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
        ..
        ..
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...