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