2017-08-08 67 views
1

我正在编写SignalR Hub客户端以从Web服务获取数据,对于我在其服务器上调用的更重要的方法之一,我收到的消息不包含排序为I的“M:eventName”行正在使用处理其他消息类型(只是“R:[数据]和我:[0]”)。当启用跟踪时,我可以看到消息数据全部存在,但是如何处理没有eventName的消息呢?SignalR客户端 - 消息不包含事件名称的处理程序?

例如:

`HubProxy.On<DataClass>("???event-name-here???", update => Console.WriteLine("OUTPUT");` 

邮件跟踪:

23:02:34.9119843 - e1ef32d1-d374-4d7d-82b4-011d906cb096 - WS: OnMessage({"R":{"MarketName":null,"Nounce":136096,"Buys":[{"Quantity":1261.89236694,"Rate":0.00567987},{"Quantity":17.66436734,"Rate":0.00565000},{"Quantity":0.35424250,"Rate":0.00564585},{"Quantity":148.53138590,"Rate":0.00564100},{"Quantity":114.03031557,"Rate":0.00564000},{"Quantity":823.55802148,"Rate":0.00563998},{"Quantity":92.11307737,"Rate":0.00563997},{"Quantity":439.17714798,"Rate":0.00563990},{"Quantity":35.46237619,"Rate":0.00563978},{"Quantity":380.42279579,"Rate":0.00563777},{"Quantity":308.83819198,"Rate":0.00563600},{"Quantity":0.10951077,"Rate":0.00563433},{"Quantity":0.35548667,"Rate":0.00562609},{"Quantity":11.23857359,"Rate":0.00562082},{"Quantity":2.69321221,"Rate":0.00562011},{"Quantity":0.99414299,"Rate":0.00561891},{"Quantity":24.41591498,"Rate":0.00561500},{"Quantity":0.35673516,"Rate":0.00560640},{"Quantity":2.66949153,"Rate":0.00560500},{"Quantity":38.31222855,"Rate":0.00560000},{"Quantity":17.84436494,"Rate":0.00559000},{"Quantity":208.91357967,"Rate":0.00557050},{"Quantity":0.89792884,"Rate":0.00556837},{"Quantity":6.28868665,"Rate":0.00556555},{"Quantity":178.86139272,"Rate":0.00556301},{"Quantity":304.80171408,"Rate":0.00556300},{"Quantity":0.56409118,"Rate":0.00556122},{"Quantity":11.57184239,"Rate":0.00556069},{"Quantity":0.19164392,"Rate":0.00555933},{"Quantity":3.00000000,"Rate":0.00555560},{"Quantity":1579.01........

+0

你必须做出一个。反正什么是“M,R和我”? – BradleyDotNET

+0

我收到我无法控制的网络服务器提供的事件。我该如何“做一个?”? (一个事件名称来注册我的处理程序)。 – mholberger

+0

这听起来并不像你正在接收事件(只是HTTP响应)。但是,再次;只做一个。如果你的电话是“myRequest”,那么事件可以是“myRequestResponse”或“foo”或任何你想要的。您正在定义SignalR集线器;如果你不*定义signalR集线器,那么它不是一个真实的事件,因为所有的SignalR事件(实际上是客户端方法调用)都必须有名称。 – BradleyDotNET

回答

1

看起来该消息是不是客户端调用(你在呼唤一个“事件”),但返回值的服务器调用。

使用返回值;使用Invoke<T>而不是IHubProxy对象上的Invoke

相关问题