Как заставить SignalR работать с Suave?

#f# #signalr #suave

#f# #signalr #suave

Вопрос:

У кого-нибудь есть пример того, как заставить SignalR работать в Suave?

Я создал демонстрационный проект, показывающий работающий сервер Suave и рабочую генерацию прокси-сервера-концентратора, а также демонстрационную страницу. Страница показывает неудачную инициализацию и повторяющиеся ошибки при попытке подключения к «// ping».

Конфигурация сервера:

     let app =
    choose [
             GET >=>
                choose [
                    path "/demo" >=> file (Files.resolvePath __SOURCE_DIRECTORY__ "test.html")
                    OwinApp.ofAppFunc "/" SignalServer.app
                ]
            ]

    startWebServer defaultConfig app
  

Проблема, похоже, заключается в маршрутизации всей «сантехники» SignalR (pings и websockets), соответственно, через Suave, но пока мне с этим не повезло…

Ответ №1:

РЕДАКТИРОВАТЬ: должно быть исправлено с помощью https://github.com/SuaveIO/suave/pull/548


Это похоже на ошибку в реализации Owin от Suave. Вы должны сообщить об этом в репозиторий.

У меня есть исправление взлома, но требует самостоятельной компиляции Suave. https://github.com/TheAngryByrd/suave/tree/signalrdemo

Комментарии:

1. @Аарон Уинстон Комин тычет кого-то (то есть всех) в gitter.im/SuaveIO/suave действительно получил ответ. добро пожаловать 😉