ServiceStack.SSE: как получить экземпляр IServerEvents? - PullRequest
0 голосов
/ 19 ноября 2018

У меня работает плагин SSE в ServiceStack, и он работает для доступа, например /event-stream и т. Д.

Теперь предположим, что есть подписчики, но в противном случае никаких действий извне. Внезапно сервер решает «Мне нужно отправить эту информацию на канал X». Как я могу это сделать? Кажется, мне нужен экземпляр IServerEvents, но я не знаю, где взять этот экземпляр.

Я вижу, что он внедрен в различные реализации Service, но в этом случае не вызывается служба, поэтому мне нужно получить этот IServerEvents в другом месте. Предположим, что событие инициировано, что вызывает метод внутри реализации AppSelfHostBase, поэтому OnObjectChange(...) запускается.

Как мне затем отправить некоторые данные на канал / подписчика в методе OnObjectChanged? Где взять IServerEvents? =)

1 Ответ

0 голосов
/ 19 ноября 2018

Кажется, что этот код работает практически везде:

IServerEvents test = TryResolve<IServerEvents>();

Экземпляр IServerEvents будет возвращен и, похоже, будет функционировать.

...