Ответ 1
Посмотрите здесь:
Мы предполагаем, что любой массив ArraySegment уже сериализуется JSON
it похоже, что что-то вроде этого может работать (обратите внимание, что я не пробовал, поэтому no promises):
string jsonString = ...; // your serialized data
var jsonBytes = new ArraySegment<byte>(Encoding.UTF8.GetBytes(jsonString));
Clients.Caller.sendJson(jsonBytes);
(Вышеупомянутое работает только для PersistentConnection из-за того, что представляет собой значение - для концентраторов данные переносятся в контейнер с информацией RPC, я оставляю это только в случае использования PersistentConnection для вас)
Еще одна идея может заключаться в создании класса контейнера для строки JSON, а затем с использованием настраиваемого конвертера, который просто записывает строку as-is, а затем регистрируется как это в стартовом коде Signalr:
var serializer = new JsonSerializer();
serializer.Converters.Add(new PreserializedConverter());
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);