を送信するには、私はC#クライアントにC#のサーバーからこれを送信して問題がないSignalr私はC#でタイプを定義した、ネストされたキー/値辞書
using Message = System.Collections.Generic.Dictionary<string, object>;
と呼ばれます。
しかし今、彼らは、図示のように値のペアの一つは、メッセージの配列になりたい(はダミーの値で変数を追跡)以下:
Message msg = new Message();
msg.Add("timestamp", Tools.ToMS(seconds, microseconds));
msg.Add("DateTime", Tools.ToISO(this.seconds, this.microseconds));
msg.Add("guid", Guid.NewGuid().ToString());
msg.Add("heading", this.heading);
msg.Add("correction", this.correction);
msg.Add("valid", this.valid);
msg.Add("lat", lat);
msg.Add("lon", lon);
msg.Add("altitude", altitude);
msg.Add("Channel", "Oxford.GPS");
Message[] tracked = new Message[2];
tracked[0] = new Message();
tracked[1] = new Message();
tracked[0].Add("first", 1);
tracked[1].Add("second", 2);
msg.Add("tracked", tracked);
return msg;
[OK]を、私は、送信中にエラーを取得していません、しかし、受信側に埋め込まれた辞書ではなく、私がここで
Type: Object
HasValues: 1
First: [1x1 Newtonsoft.Json.Linq.JProperty]
Last: [1x1 Newtonsoft.Json.Linq.JProperty]
Count: 1
Parent: [1x1 Newtonsoft.Json.Linq.JArray]
Root: [1x1 Newtonsoft.Json.Linq.JArray]
Next: [1x1 Newtonsoft.Json.Linq.JObject]
Previous: []
Path: [1x1 System.String]
Newtonsoft.Json.Linq.JArray
の配列を取得しています、辞書に変換されていないことは詳細なトレースは、クライアントに到着示すされているものです〜する私の訓練を受けていない目に良いKS:{"C":"d-4A172629-B,5549|C,0|D,1","M":[{"H":"GatewayHub","M":"post","A":[{"timestamp":1450469910308,"DateTime":"2015-12-18T20:18:30.3090000Z","guid":"60ef4307-1225-40f9-b0e0-f2f1d87e760d","heading":210.340958,"correction":3,"valid":true,"lat":42.299856271140619,"lon":-83.698864895162188,"altitude":269.147216796875,"Channel":"Oxford.GPS","tracked":[{"first":1},{"second":2}]}]}]})
はい、それを信じるか、私はそれからではなく、ネストされた値について、また作品のMatlabのイベントを介してこれを送信していません。
これを試すことができます:https://stackoverflow.com/questions/32314638/signalr-typenamehandling – dbc