Соединение с параметрами

#c# #asp.net #signalr

#c# #asp.net #signalr

Вопрос:

Я пытаюсь заставить нижеприведенное работать сhttps://github.com/simplefx-ltd/simplefx-api

 Request:

{
 "H":"quotessubscribehub",
 "M":"getLastPrices",
 "A":[["BTCUSD","LTCUSD","ETHUSD","TLRY.US","GWPH.US"]],
 "I":0
}
hub - quotessubscribehub
method - getLastPrices
arguments:
0 - list of instruments - ["BTCUSD","LTCUSD","ETHUSD","TLRY.US","GWPH.US"]
  

Моя первая попытка в c # заключается в следующем;

  [Command]
    public async void LiveTrades()
    {           
        var trades = new List<String>() { "BTCUSD", "LTCBTC" };

        var hubConnection = new HubConnection("https://webquotes-v3.simplefx.com/signalr/");
            IHubProxy stockTickerHubProxy = hubConnection.CreateHubProxy("quotessubscribehub");
            hubConnection.Headers.Add("H", "quotessubscribehub");
            hubConnection.Headers.Add("M", "getLastPrices");
            hubConnection.Headers.Add("A", trades.ToString());
            hubConnection.Headers.Add("I", "0");

        stockTickerHubProxy.On<LiveSymbols>("getLastPrices", stock => TradePrice = stock.R.Data.ToString());
        await hubConnection.Start();        

    }
  

Я не уверен на 100%, но, возможно, список аргументов вызывает у меня основную проблему.
Любая помощь будет с благодарностью принята.
Большое спасибо
Скотт

** Редактировать: Похоже, теперь у меня есть правильный список инструментов.

 var trades = new List<String>() { "BTCUSD", "LTCBTC" };
string output = new JavaScriptSerializer().Serialize(trades);
  

ВОЗВРАТ
[«BTCUSD», «LTCBTC»]

Соединение кажется хорошим, но не возвращает мне никаких элементов. Будет продолжать пытаться

Ответ №1:

Это решило проблему.

 var trades = new List<String>() { "BTCUSD", "LTCBTC" };
await hubConnection.Start();
var returnValue = await stockTickerHubProxy.Invoke<R>("getLastPrices", trades);