2017-08-08 72 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

相關問題