Wcf服务引用在2个项目

时间:2018-05-29 08:26:00

标签: c# asp.net-mvc wpf wcf

我正在用C#创建战舰游戏。对于这个游戏,我目前有3个项目:

  1. 代表客户端的WPF应用程序
  2. 一个ASP.NET MVC应用程序,用作客户登录并开始彼此游戏的大厅
  3. 一个WCF服务,托管在两个应用程序可以用来相互通信的位置。
  4. 在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);
        }
    

    之前是否有人遇到此问题或者可能发现问题并且知道解决方案。

    P.S。此外,当尝试使用如上所示的第一个构造函数时。我的system.servicemodel命名空间中只有BasicHTTPBinding可用,在WCF服务中使用WSDualHttpBinding,这就是尝试使用此构造函数时抛出错误的原因

1 个答案:

答案 0 :(得分:0)

完成我的评论,搜索“没有网络参考的wcf样本”==>见

this samplethis one