我搜索了文档,但没有找到这个问题的明确答案。 我想在ABP框架中创建一个后台工作者(https://docs.abp.io/en/abp/latest/Background-Workers)。
但我不知道应该在哪个项目/层中创建它。我感觉后台工作属于域层。这是对的吗?它属于应用层吗?还是取决于后台工作人员的工作? 最佳做法是什么?
正如你所说,我认为这取决于后台工作者做什么。但一般来说,我认为它应该在领域层,因为它不是一个可以通过用户/参与者交互触发的用例,它只是一个定期运行的工作服务。
我认为最好不要将后台工作放入领域层,这不是领域逻辑,而是更多关于用户案例。
我们最好把它放到表示层。
在abp的文档中,并没有直接说出来,但是我们可以找到一些证据。(参考:https://docs.abp.io/en/abp/latest/Background-Workers-Hangfire#configuration)
正如它所说:
我们更改 Module 类(例如:HttpApiHostModule)以在ConfigureServices 方法中添加存储和连接字符串的 Hangfire 配置
所以abp给出了一个在HttpApiHostModule中注册后台worker的例子,而HttpApiHostModule位于比应用层更高的表示层。