WCF 服务引用在 2 个项目中有所不同



我正在用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);
}

以前有没有人遇到过这个问题,或者可能看到有什么问题并知道解决方案。

附言同样在尝试使用第一个构造函数时,如上所示。在我的system.servicemodel命名空间中只有BasicHTTPBinding可用,其中与WCF服务一样使用WSDualHttpBinding,这就是为什么在尝试使用此构造器时会抛出错误的原因

要完成我的评论,请搜索"没有 Web 引用的 WCF 示例"==>请参阅

这个或这个

最新更新