Является ли вызов SignalR Hub из уровня обслуживания приложений плохой практикой в ​​ASP.Net Boilerplate? - PullRequest
1 голос
/ 02 апреля 2019



Я использую шаблонный шаблон Asp.Net с ASP.Net Core 2.1.
Я реализовал Hub в сборке Web.Core и создал контроллер.
Я могу подписать / уведомить данные с моего хаба от любого клиента, это не моя проблема.

Я бы хотел использовать этот концентратор на уровне служб приложений, но по умолчанию уровень SignalR не упоминается на уровне служб приложений.

Так что мой вопрос:
Неправильно ли ссылаться на SignalR на уровне служб приложений?

Заранее спасибо!

С уважением, Pierre-Luc

1 Ответ

1 голос
/ 03 апреля 2019

Непосредственная зависимость от веб-функции не является хорошей практикой на уровне приложений.Потому что предполагается, что уровень представления не зависит.

Я думаю, что у вас есть несколько вариантов;

  1. Если вы думаете, что никогда не меняете SignalR и никогда не используете уровень приложения из другого приложения, то вы можете напрямую ссылаться на SignalR и использовать его.Однако это должен быть наихудший случай.
  2. Аннотация Связь SignalR (определить интерфейс) на прикладном уровне и реализовать его на веб-уровне.В этом случае полезно определить реализацию Null (поиск «шаблон нулевого объекта», если вы не знаете) на уровне приложения, чтобы удалить зависимость и разрешить использование уровня приложения без SignalR.
  3. Если ваш прикладной уровень не может работать с нулевой реализацией (возможно, ему нужен реальный ответ от клиента), то вам следует подумать о том, чтобы переместить зависимый от SignalR код на веб-уровень.

Итак, каклюбой хороший ответ, это зависит:)

...