返回题库高级 .NET 刷题ASP.NET Core 选择题 · 第 2 / 50 篇

ASP.NET Core 试题 02:Generic Host 与应用生命周期

0021 在 Generic Host 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 使用 Generic Host 后后台任务绝不会重复执行
  • B. 主机负责基础设施生命周期,但不会自动保证业务操作幂等
  • C. 通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务
  • D. 观察到“容器重启时后台任务处理到一半”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案C

正确答案直接描述 Generic Host 的主规则:通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务。选项“主机负责基础设施生命周期,但不会自动保证业务操作幂等”是使用规则时要验证的边界,不是规则本身;“使用 Generic Host 后后台任务绝不会重复执行”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0022 容器重启时后台任务处理到一半。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“使用 Generic Host 后后台任务绝不会重复执行”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“主机负责基础设施生命周期,但不会自动保证业务操作幂等”,再依据“通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“主机负责基础设施生命周期,但不会自动保证业务操作幂等”。
  • D. 以一次成功请求作为结论,不再确认“通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务”是否成立。
查看答案与解析

正确答案B

场景“容器重启时后台任务处理到一半”指向 Generic Host,但症状本身不能证明根因。正确排查应先确认边界“主机负责基础设施生命周期,但不会自动保证业务操作幂等”,再用主规则“通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务”解释证据。直接采用误区“使用 Generic Host 后后台任务绝不会重复执行”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0023 关于 Generic Host,以下哪项说法不成立?

难度: 实战

  • A. 使用 Generic Host 后后台任务绝不会重复执行
  • B. 通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务
  • C. 主机负责基础设施生命周期,但不会自动保证业务操作幂等
  • D. 出现“容器重启时后台任务处理到一半”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案A

题目要求选出不成立的说法,答案“使用 Generic Host 后后台任务绝不会重复执行”正是 Generic Host 的典型误区。其余三项分别给出了主规则“通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务”、适用边界“主机负责基础设施生命周期,但不会自动保证业务操作幂等”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0024 针对“容器重启时后台任务处理到一半”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“使用 Generic Host 后后台任务绝不会重复执行”修改实现,并把一次请求成功作为验收结果。
  • B. 按“通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务”修改代码后直接上线,不验证“主机负责基础设施生命周期,但不会自动保证业务操作幂等”。
  • C. 只验证“主机负责基础设施生命周期,但不会自动保证业务操作幂等”,但实现仍继续依赖“使用 Generic Host 后后台任务绝不会重复执行”。
  • D. 按“通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务”修正实现,并用测试或遥测验证“主机负责基础设施生命周期,但不会自动保证业务操作幂等”。
查看答案与解析

正确答案D

完整决策同时覆盖规则与验证:通用主机统一管理依赖注入、日志、配置、应用生命周期和托管服务;并确认 主机负责基础设施生命周期,但不会自动保证业务操作幂等。继续接受“使用 Generic Host 后后台任务绝不会重复执行”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“容器重启时后台任务处理到一半”这一生产场景能否安全上线。

0025 在 IHostApplicationLifetime 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. ApplicationStopped 触发后仍可安全接受新 HTTP 请求
  • B. Stopping 回调应快速、可取消,不能假设拥有无限清理时间
  • C. 观察到“优雅停机期间需要停止拉取新消息”即可把一次现象当成完整框架契约。
  • D. 该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌
查看答案与解析

正确答案D

正确答案直接描述 IHostApplicationLifetime 的主规则:该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌。选项“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”是使用规则时要验证的边界,不是规则本身;“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0026 优雅停机期间需要停止拉取新消息。排查时哪项动作最合理?

难度: 进阶

  • A. 先验证“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”,再依据“该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌”判断实现是否符合契约。
  • B. 直接按“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”定性,不再检查配置、身份或运行时证据。
  • C. 只增加重试次数或机器资源,暂不核对“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”。
  • D. 以一次成功请求作为结论,不再确认“该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌”是否成立。
查看答案与解析

正确答案A

场景“优雅停机期间需要停止拉取新消息”指向 IHostApplicationLifetime,但症状本身不能证明根因。正确排查应先确认边界“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”,再用主规则“该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌”解释证据。直接采用误区“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0027 关于 IHostApplicationLifetime,以下哪项说法不成立?

难度: 实战

  • A. 该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌
  • B. Stopping 回调应快速、可取消,不能假设拥有无限清理时间
  • C. ApplicationStopped 触发后仍可安全接受新 HTTP 请求
  • D. 出现“优雅停机期间需要停止拉取新消息”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案C

题目要求选出不成立的说法,答案“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”正是 IHostApplicationLifetime 的典型误区。其余三项分别给出了主规则“该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌”、适用边界“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0028 针对“优雅停机期间需要停止拉取新消息”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”修改实现,并把一次请求成功作为验收结果。
  • B. 按“该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌”修正实现,并用测试或遥测验证“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”。
  • C. 按“该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌”修改代码后直接上线,不验证“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”。
  • D. 只验证“Stopping 回调应快速、可取消,不能假设拥有无限清理时间”,但实现仍继续依赖“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”。
查看答案与解析

正确答案B

完整决策同时覆盖规则与验证:该接口暴露 ApplicationStarted、Stopping 和 Stopped 取消令牌;并确认 Stopping 回调应快速、可取消,不能假设拥有无限清理时间。继续接受“ApplicationStopped 触发后仍可安全接受新 HTTP 请求”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“优雅停机期间需要停止拉取新消息”这一生产场景能否安全上线。

0029 在 HostOptions.ShutdownTimeout 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. ShutdownTimeout 限制主机等待托管服务停止的时间
  • B. 增大 ShutdownTimeout 会让所有未完成业务必然成功提交
  • C. 超时只是等待上限,业务仍需正确响应 CancellationToken
  • D. 观察到“发布时旧实例长期无法退出”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案A

正确答案直接描述 HostOptions.ShutdownTimeout 的主规则:ShutdownTimeout 限制主机等待托管服务停止的时间。选项“超时只是等待上限,业务仍需正确响应 CancellationToken”是使用规则时要验证的边界,不是规则本身;“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0030 发布时旧实例长期无法退出。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“超时只是等待上限,业务仍需正确响应 CancellationToken”,再依据“ShutdownTimeout 限制主机等待托管服务停止的时间”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“超时只是等待上限,业务仍需正确响应 CancellationToken”。
  • D. 以一次成功请求作为结论,不再确认“ShutdownTimeout 限制主机等待托管服务停止的时间”是否成立。
查看答案与解析

正确答案B

场景“发布时旧实例长期无法退出”指向 HostOptions.ShutdownTimeout,但症状本身不能证明根因。正确排查应先确认边界“超时只是等待上限,业务仍需正确响应 CancellationToken”,再用主规则“ShutdownTimeout 限制主机等待托管服务停止的时间”解释证据。直接采用误区“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0031 关于 HostOptions.ShutdownTimeout,以下哪项说法不成立?

难度: 实战

  • A. ShutdownTimeout 限制主机等待托管服务停止的时间
  • B. 超时只是等待上限,业务仍需正确响应 CancellationToken
  • C. 增大 ShutdownTimeout 会让所有未完成业务必然成功提交
  • D. 出现“发布时旧实例长期无法退出”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案C

题目要求选出不成立的说法,答案“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”正是 HostOptions.ShutdownTimeout 的典型误区。其余三项分别给出了主规则“ShutdownTimeout 限制主机等待托管服务停止的时间”、适用边界“超时只是等待上限,业务仍需正确响应 CancellationToken”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0032 针对“发布时旧实例长期无法退出”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”修改实现,并把一次请求成功作为验收结果。
  • B. 按“ShutdownTimeout 限制主机等待托管服务停止的时间”修改代码后直接上线,不验证“超时只是等待上限,业务仍需正确响应 CancellationToken”。
  • C. 只验证“超时只是等待上限,业务仍需正确响应 CancellationToken”,但实现仍继续依赖“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”。
  • D. 按“ShutdownTimeout 限制主机等待托管服务停止的时间”修正实现,并用测试或遥测验证“超时只是等待上限,业务仍需正确响应 CancellationToken”。
查看答案与解析

正确答案D

完整决策同时覆盖规则与验证:ShutdownTimeout 限制主机等待托管服务停止的时间;并确认 超时只是等待上限,业务仍需正确响应 CancellationToken。继续接受“增大 ShutdownTimeout 会让所有未完成业务必然成功提交”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“发布时旧实例长期无法退出”这一生产场景能否安全上线。

0033 在 内容根目录 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定
  • B. 相对路径总是以程序集文件所在目录解析
  • C. 容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置
  • D. 观察到“本地能读取模板而容器中找不到文件”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案A

正确答案直接描述 内容根目录 的主规则:内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定。选项“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”是使用规则时要验证的边界,不是规则本身;“相对路径总是以程序集文件所在目录解析”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0034 本地能读取模板而容器中找不到文件。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“相对路径总是以程序集文件所在目录解析”定性,不再检查配置、身份或运行时证据。
  • B. 只增加重试次数或机器资源,暂不核对“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”。
  • C. 以一次成功请求作为结论,不再确认“内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定”是否成立。
  • D. 先验证“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”,再依据“内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定”判断实现是否符合契约。
查看答案与解析

正确答案D

场景“本地能读取模板而容器中找不到文件”指向 内容根目录,但症状本身不能证明根因。正确排查应先确认边界“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”,再用主规则“内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定”解释证据。直接采用误区“相对路径总是以程序集文件所在目录解析”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0035 关于 内容根目录,以下哪项说法不成立?

难度: 实战

  • A. 内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定
  • B. 容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置
  • C. 相对路径总是以程序集文件所在目录解析
  • D. 出现“本地能读取模板而容器中找不到文件”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案C

题目要求选出不成立的说法,答案“相对路径总是以程序集文件所在目录解析”正是 内容根目录 的典型误区。其余三项分别给出了主规则“内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定”、适用边界“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0036 针对“本地能读取模板而容器中找不到文件”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“相对路径总是以程序集文件所在目录解析”修改实现,并把一次请求成功作为验收结果。
  • B. 按“内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定”修正实现,并用测试或遥测验证“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”。
  • C. 按“内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定”修改代码后直接上线,不验证“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”。
  • D. 只验证“容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置”,但实现仍继续依赖“相对路径总是以程序集文件所在目录解析”。
查看答案与解析

正确答案B

完整决策同时覆盖规则与验证:内容根目录用于解析应用内容文件,默认值由宿主构建方式和启动位置决定;并确认 容器或服务启动目录可能不同,关键路径应基于 ContentRootPath 或绝对配置。继续接受“相对路径总是以程序集文件所在目录解析”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“本地能读取模板而容器中找不到文件”这一生产场景能否安全上线。

0037 在 主机配置与应用配置 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 所有配置源优先级固定且无法被应用调整
  • B. 宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序
  • C. 同名键最终值取决于提供程序顺序和实际来源
  • D. 观察到“命令行参数没有覆盖 JSON 中的端口”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案B

正确答案直接描述 主机配置与应用配置 的主规则:宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序。选项“同名键最终值取决于提供程序顺序和实际来源”是使用规则时要验证的边界,不是规则本身;“所有配置源优先级固定且无法被应用调整”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0038 命令行参数没有覆盖 JSON 中的端口。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“所有配置源优先级固定且无法被应用调整”定性,不再检查配置、身份或运行时证据。
  • B. 只增加重试次数或机器资源,暂不核对“同名键最终值取决于提供程序顺序和实际来源”。
  • C. 以一次成功请求作为结论,不再确认“宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序”是否成立。
  • D. 先验证“同名键最终值取决于提供程序顺序和实际来源”,再依据“宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序”判断实现是否符合契约。
查看答案与解析

正确答案D

场景“命令行参数没有覆盖 JSON 中的端口”指向 主机配置与应用配置,但症状本身不能证明根因。正确排查应先确认边界“同名键最终值取决于提供程序顺序和实际来源”,再用主规则“宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序”解释证据。直接采用误区“所有配置源优先级固定且无法被应用调整”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0039 关于 主机配置与应用配置,以下哪项说法不成立?

难度: 实战

  • A. 所有配置源优先级固定且无法被应用调整
  • B. 宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序
  • C. 同名键最终值取决于提供程序顺序和实际来源
  • D. 出现“命令行参数没有覆盖 JSON 中的端口”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案A

题目要求选出不成立的说法,答案“所有配置源优先级固定且无法被应用调整”正是 主机配置与应用配置 的典型误区。其余三项分别给出了主规则“宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序”、适用边界“同名键最终值取决于提供程序顺序和实际来源”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0040 针对“命令行参数没有覆盖 JSON 中的端口”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“所有配置源优先级固定且无法被应用调整”修改实现,并把一次请求成功作为验收结果。
  • B. 按“宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序”修改代码后直接上线,不验证“同名键最终值取决于提供程序顺序和实际来源”。
  • C. 按“宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序”修正实现,并用测试或遥测验证“同名键最终值取决于提供程序顺序和实际来源”。
  • D. 只验证“同名键最终值取决于提供程序顺序和实际来源”,但实现仍继续依赖“所有配置源优先级固定且无法被应用调整”。
查看答案与解析

正确答案C

完整决策同时覆盖规则与验证:宿主关键配置先确定环境和内容根,应用配置随后合并更多提供程序;并确认 同名键最终值取决于提供程序顺序和实际来源。继续接受“所有配置源优先级固定且无法被应用调整”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“命令行参数没有覆盖 JSON 中的端口”这一生产场景能否安全上线。

官方资料

当前分类

ASP.NET Core 选择题

查看全部分类 →
  1. 01ASP.NET Core 试题 01:应用启动与 WebApplication20 题
  2. 02ASP.NET Core 试题 02:Generic Host 与应用生命周期20 题
  3. 03ASP.NET Core 试题 03:Kestrel 与服务器配置20 题
  4. 04ASP.NET Core 试题 04:请求管道与中间件顺序20 题
  5. 05ASP.NET Core 试题 05:自定义中间件20 题
ESC

输入关键词开始搜索