我正在尝试使用WCF编写主机/客户端样式系统,我当前想要使用wsHttpBinding,但当我浏览这一行时,我正在阅读其他内容(isOneWay bool):
'HTTP不能用于回调,因此你不能在BasicHttpBinding或WSHttpBinding上使用回调'
我的大多数方法都会返回值,例如客户端会调用一个方法,该方法会根据调用的方法从服务器发回特定数据。像这样,返回一行:
public string SayHello(string name)
{
Console.WriteLine(">>> SayHello has been called");
return string.Format("Hello, {0}!", name);
}
返回行是否会使其成为回调,那么我是否必须使用不同的绑定?或者仅当客户端向服务器发送“消息”并且服务器发回“消息”时才回调?在我的代码中,它只是调用返回数据的方法,所以不会被归类为回调,我可以继续使用wsHttpBinding?感谢
答案 0 :(得分:3)
您绝对不需要wsDualHttpBinding
来返回值。您需要BasicHttpBinding
甚至更好WSHttpBinding
wsDualHttpBinding
用于实际从服务器调用客户端(回调)。这是在网络世界中没有广泛使用的东西,因为它有局限性,有更好的选项,如WebSockets和SignalR