SignalR notes

Подключал я давеча SignalR в проект.
Короче, забавная и полезная технология, но сделана не очень хорошо

1) Тянет за собой OWIN, даже когда он не нужен
2) Новые версии SignalR (2.*) работают только через OWIN, что делает невозможным применение в старых проектах (пришлось использовать версию 1.*)
3) По-умолчанию JSON-сериализатор ложить хотел на конвенции javascriptа и сериализует имена в UpperCamelCase
4) Дает возможность переопределить IJSonConverter, но при этом использует переопределенный, что ломает его работу полностью. В итоге пришлось писать кастомный Json Contract Resolver
5) Кажется SignalR очень плотно завязан на Json и при всем желании нельзя будет легко перейти на Bson или другой бинарный формат

Но в целом SignalR довольно хорошо сделан в плане отсутствия лишних утечек. Выглядит пока что так, что его нельзя использовать как транспорт для гарантированной доставки данных. Что в принципе хорошо, потому что в текущем виде SignalR работает довольно быстро, а огород в виде очередей и ack всегда можно сделать поверх.