Ссылка на сервис Wcf отличается в 2 проектах - PullRequest
0 голосов
/ 29 мая 2018

Я создаю игру на линкорах в C #.для этой игры у меня в настоящее время есть 3 проекта:

  1. Приложение WPF, которое представляет клиента
  2. Приложение ASP.NET MVC, которое функционирует как лобби, где клиенты входят в систему и начинают игру
  3. Служба WCF, в которой размещаются оба приложения для связи друг с другом.

В приложении WPF и MVC для службы создается ссылка на службу.WCF сервис.Однако ссылка на службу выглядит по-разному в обоих приложениях.Кстати, служба также реализует службу обратного вызова.

В приложении WPF я могу просто создать клиент службы и добавить текущий контекст экземпляра в качестве экземпляра, где служба обратного вызова вызывается как:

var instanceContext = new InstanceContext(this);
lobbyserviceClient = new LobbyServiceClient(instanceContext);

И служба работает нормально.

Однако в приложении MVC ссылка на службу имеет совершенно разные конструкторы, из которых ни один из них не работает нормально. Ниже приведен пример файла ссылки:

    public LobbyServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            this(new LobbyServiceClientCallback(), binding, remoteAddress)
    {
    }

    private LobbyServiceClient(LobbyServiceClientCallback callbackImpl, System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(new System.ServiceModel.InstanceContext(callbackImpl), binding, remoteAddress)
    {
        callbackImpl.Initialize(this);
    }

Кто-нибудь сталкивался с этой проблемой раньше или, возможно, видит что-то не так и знает решение.

ps Также при попытке использовать первый конструктор, как показано выше.В моем пространстве имен system.servicemodel доступно только BasicHTTPBinding, где, как и в службе WCF, используется WSDualHttpBinding, поэтому при попытке использовать этот конструктор выдается ошибка

1 Ответ

0 голосов
/ 30 мая 2018

, чтобы завершить мои комментарии, выполните поиск по запросу "wcf sample без веб-ссылки" ==> см.

этот образец или этот

...