我正在用C#创建战舰游戏。对于这个游戏,我目前有3个项目:
在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,这就是尝试使用此构造函数时抛出错误的原因