接口中可用的方法On
和方法有什么区别。什么时候应该使用一个而不是另一个Subscribe
IHubProxy
问问题
11503 次
2 回答
35
订阅是较低级别的,您真的应该永远不必使用它。On 提供了更友好的重载,允许强类型的参数。这是一个例子:
服务器
public class MyHub
{
public void Send(string message, int age)
{
Clients.All.send(message, age);
}
}
客户
订阅模式
public void Main()
{
var connection = new HubConnection("http://myserver");
var proxy = connection.CreateHubProxy("MyHub");
var subscription = proxy.Subscribe("send");
subscription.Received += arguments =>
{
string name = null;
int age;
if (arguments.Count > 0)
{
name = arguments[0].ToObject<string>();
}
if (arguments.Count > 1)
{
age = arguments[1].ToObject<int>();
}
Console.WriteLine("Name {0} and age {1}", name, age);
};
}
“开”模式
public void Main()
{
var connection = new HubConnection("http://myserver");
var proxy = connection.CreateHubProxy("MyHub");
proxy.On<string, int>("send", (name, age) =>
{
Console.WriteLine("Name {0} and age {1}", name, age);
});
}
于 2013-08-06T08:27:58.417 回答
1
我讨厌死灵,但这条线索把我引向了一条黑暗的小巷。事实上,可以使用 Reactive Extensions (Rx) 来处理订阅,并且在许多情况下这是可取的,因为它允许组合。
一篇足够体面的文章,解释了基础知识。遗憾的是,代码示例中的格式有点拙劣,但您可以到达那里。 https://www.safaribooksonline.com/blog/2014/02/10/signalr-rx-framework/
于 2016-09-07T21:08:04.863 回答