我应该为返回值的方法使用wsHttpBinding或wsDualHttpBinding吗?

时间:2014-01-05 12:30:42

标签: c# .net wcf wcf-binding

我正在尝试使用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?感谢

1 个答案:

答案 0 :(得分:3)

您绝对不需要wsDualHttpBinding来返回值。您需要BasicHttpBinding甚至更好WSHttpBinding

wsDualHttpBinding用于实际从服务器调用客户端(回调)。这是在网络世界中没有广泛使用的东西,因为它有局限性,有更好的选项,如WebSockets和SignalR