.Net Core API 从 Json 文件中读取内容
.Net Core API read content from Json File
我正在尝试从 .Net 核心 API 中的 json 文件中读取内容并分配给列表并将其用于执行业务逻辑。
API层数:
项目 -> 业务 -> 存储库 -> 数据库
我需要从业务层的 json 文件中读取内容。文件内容不会经常变化。我正在考虑在业务层 class 构造函数中读取文件。
问题:
- 我需要将此文件保存在 App_Data 文件夹中吗?
- 能否在业务层构造函数中使用HttpContextAccessor读取内容?
有人可以帮助提供最佳实现方式吗?如果问题不清楚,请告诉我,我会重新措辞。
Do I need to keep this file in App_Data folder?
这完全取决于您对该文件的预期用途。如果它是静态数据或很少更改的配置,您可以将其与您的项目一起存储并设置您的项目 to copy it to the build folder。这可以在 Visual Studio 2019 中通过选择“始终复制”或“如果较新则复制”作为 Copy to Output Directory
选项来完成,或者直接在 .csproj
文件中完成。
Can I use the HttpContextAccessor in the business layer constructor and read the content?
您可以在 Starup.ConfigureServices
中使用 .Add<Transient|Scoped|Singleton>()
注册它。请注意,这使得在非请求上下文中使用此业务层服务变得困难(例如,使用计划任务)。
但是,如果文件与应用程序位于同一台计算机上,我不明白为什么您需要 HttpContext
才能读取它。您只需要 System.IO
和 System.Text.Json
命名空间。
我正在尝试从 .Net 核心 API 中的 json 文件中读取内容并分配给列表并将其用于执行业务逻辑。
API层数:
项目 -> 业务 -> 存储库 -> 数据库
我需要从业务层的 json 文件中读取内容。文件内容不会经常变化。我正在考虑在业务层 class 构造函数中读取文件。
问题:
- 我需要将此文件保存在 App_Data 文件夹中吗?
- 能否在业务层构造函数中使用HttpContextAccessor读取内容?
有人可以帮助提供最佳实现方式吗?如果问题不清楚,请告诉我,我会重新措辞。
Do I need to keep this file in App_Data folder?
这完全取决于您对该文件的预期用途。如果它是静态数据或很少更改的配置,您可以将其与您的项目一起存储并设置您的项目 to copy it to the build folder。这可以在 Visual Studio 2019 中通过选择“始终复制”或“如果较新则复制”作为 Copy to Output Directory
选项来完成,或者直接在 .csproj
文件中完成。
Can I use the HttpContextAccessor in the business layer constructor and read the content?
您可以在 Starup.ConfigureServices
中使用 .Add<Transient|Scoped|Singleton>()
注册它。请注意,这使得在非请求上下文中使用此业务层服务变得困难(例如,使用计划任务)。
但是,如果文件与应用程序位于同一台计算机上,我不明白为什么您需要 HttpContext
才能读取它。您只需要 System.IO
和 System.Text.Json
命名空间。