Как передать сложные объекты через SignalR?

Другой проблемой, вызывающей эту ошибку, может быть установка APK из ограниченной точки монтирования SD-карты /mnt/media_rw/MicroSD.

Используйте неограниченную точку монтирования /Removable/MicroSD.

17
задан AngryHacker 27 June 2013 в 18:25
поделиться

2 ответа

  1. Вы просто отправляете и ссылаетесь на него таким же образом.
  2. Вы передадите (вот как это выглядит, когда вы получаете его с сервера):
{
    QuarterHours: [{
        Minute: {
            Registered: true,
            NumAttendees: 1337
        },
        HourStart: 1
    }],
    Books: ["Game of Thrones", "Harry Potter"],
    EndDay: 2,
    StartDay: 3
}
22
ответ дан N. Taylor Mullen 27 June 2013 в 18:25
поделиться

Вы хотели бы сериализовать ваш класс в объект JSON. Есть много способов сделать это, но вы можете попробовать JSON.NET сделать это быстро и легко.

Если он еще не включен в ваш проект, вы можете добавить его через Nuget с помощью:

Install-Package Newtonsoft.Json 

Код будет выглядеть примерно так:

var json = JsonConvert.SerializeObject(master);

После этого передается на вашу клиентскую сторону, затем вы можете читать из вашего объекта JSON, как и любой другой. Вы можете использовать следующий код javascript для преобразования вашего строкового сообщения SignalR в объект JSON:

var master = JSON.stringify(eval("(" + message + ")"));
var registered = master.QuarterHours[2].Minute.Registered;

Вы также можете передать это через SignalR на сервер и десериализовать объект JSON с помощью JsonConvert.DeserializeObject для преобразования это к вашим классам C #. Ознакомьтесь с документацией здесь для получения дополнительной информации: http://james.newtonking.com/projects/json/help/

8
ответ дан SeanPrice 27 June 2013 в 18:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: