为什么 Abp.AspNetCore.OData 需要 services.AddOData()?
Why does Abp.AspNetCore.OData require services.AddOData()?
在 aspnetboilerplate 文档中 tutorial 关于如何使用 Abp.AspNetCore.OData 模块。我研究这个模块作为创建我自己的 GraphQL 模块的参考。但是,我对为什么在声明对 OData 模块的依赖后仍然需要使用
显式配置服务感到有些困惑
services.AddOData();
在实际 Asp.NET 核心项目的 Startup class 中?
当然,这是必需的,因为 Abp.AspNetCore.OData 模块不这样做。但是,当使用 DependsOn 属性声明对特定模块的依赖时,ABP 的模块系统的思想的很大一部分不是自动注册所有依赖项吗?这样封装在ABP模块中就显得有些无用了
services.AddOData()
在Startup.cs中调用;它需要修改才能在 ABP 模块中调用。
通常,services.AddXxx()
调用取决于较早添加的其他服务。
并非所有这些服务都将成为 ABP 模块,因此无法确保按照服务需要和开发人员希望的顺序调用它们。
在 aspnetboilerplate 文档中 tutorial 关于如何使用 Abp.AspNetCore.OData 模块。我研究这个模块作为创建我自己的 GraphQL 模块的参考。但是,我对为什么在声明对 OData 模块的依赖后仍然需要使用
显式配置服务感到有些困惑services.AddOData();
在实际 Asp.NET 核心项目的 Startup class 中?
当然,这是必需的,因为 Abp.AspNetCore.OData 模块不这样做。但是,当使用 DependsOn 属性声明对特定模块的依赖时,ABP 的模块系统的思想的很大一部分不是自动注册所有依赖项吗?这样封装在ABP模块中就显得有些无用了
services.AddOData()
在Startup.cs中调用;它需要修改才能在 ABP 模块中调用。
通常,services.AddXxx()
调用取决于较早添加的其他服务。
并非所有这些服务都将成为 ABP 模块,因此无法确保按照服务需要和开发人员希望的顺序调用它们。