gpt4 book ai didi

c# - 从应用程序服务层调用 SignalR Hub 是 ASP.Net 样板中的不良做法吗?

转载 作者:行者123 更新时间:2023-11-30 16:38:14 25 4
gpt4 key购买 nike



我在 ASP.Net Core 2.1 中使用 Asp.Net 样板模板。
我在 Web.Core 程序集中实现了一个 Hub 并创建了一个 Controller 。
我可以通过我的集线器从任何客户端订阅/通知数据,这不是我的问题。

我想在应用服务层使用这个集线器,但应用服务层默认不引用 SignalR。

所以我的问题是:
在应用程序服务层引用 SignalR 是一种不好的做法吗?

提前致谢!

问候,皮埃尔吕克

最佳答案

在应用层直接依赖一个 web 特性不是一个好的做法。因为,它假定表示层独立。

我想你有几个选择;

  1. 如果您认为您从不更改 SignalR 并且从不使用其他应用程序的应用程序层,那么您可以直接引用 SignalR 并使用它。然而,这应该是最坏的情况。
  2. 在应用层抽象SignalR通信(定义接口(interface)),在web层实现。在这种情况下,最好在应用层定义一个 Null 实现(如果您不知道,请搜索“空对象模式”)以消除依赖性并允许应用层在没有 SignalR 的情况下也可用。
  3. 如果您的应用程序层无法使用 null 实现(可能需要来自客户端的真实答案),那么您应该考虑将依赖于 SignalR 的代码移至 Web 层。

所以,就像任何好的答案一样,这取决于 :)

关于c# - 从应用程序服务层调用 SignalR Hub 是 ASP.Net 样板中的不良做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55472303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com