从网上收集整理的 ASP.NET Core
笔试题。
# 题目
- 如何在 ASP.NET Core 中激活 Session 功能?
- 什么是中间件?
- ApplicationBuilder 的 Use 和 Run 方法有什么区别?
- 如何使 TagHelper (标记辅助) 在元素这一层上失效?
- 什么是 ASP.NET Core?
- ASP.NET Core 中 AOP 的支持有哪些?
- ASP.NET Core Filter 的注册方式有哪些?
- ASP.NET Core Filter 如何支持依赖注入?
- ASP.NET Core 如何读取配置文件中的内容?
- ASP.NET Core 有哪些好的功能?
- ASP.NET Core 主要的特性
- Startup.cs 的作用?
- Server.Transfer 和 Response.Redirect 的区别是什么?
- API,什么时候用 Get/Post/Put/Delete?
- 依赖注入后的服务生命周期?
- 如何启用 Cors?
- 简述对 RESTful 的理解。
-- 答案分割线 --
# 答案
-
如何在 ASP.NET Core 中激活 Session 功能?
(1) 第一步,在 Startup ConfigureServices 中添加任意 IDistributedCache 缓存,如内存缓存:AddDistributedMemoryCache。如果需要使用 Redis 或 SqlServer 等其他分布式缓存服务器,需要安装对应的包。
(2) 第二步,在 Startup ConfigureServices 中添加 Session:AddSession ()。
(3) 第三步,在 Startup Configure 中调用 Session:UseSession ()。 -
什么是中间件?
中间件是一种装配到应用管道以处理请求和响应的组件。每个组件可以:
(1) 选择是否将请求传递到管道中的下一个组件。
(2) 可以在管道中的下一个组件前后执行工作。 -
ApplicationBuilder 的 Use 和 Run 方法有什么区别?
(1) Use:通过 Use 的方式注册中间件,可以控制是否将请求传递到下一个中间件。
(2) Run:通过 Run 的方式注册中间件,一般用于短路或请求管道末尾,即不会将请求传递给下一个中间件。 -
如何使 TagHelper (标记辅助) 在元素这一层上失效?
使用叹号。 -
什么是 ASP.NET Core?
ASP.NET Core 是 ASP.NET 的升级版本,是基于.NET Core 的开源 Web 开发框架,可以跨平台运行在 Windows、Linux、macOS 上,更快、更容易配置、更模块化、可扩展性更强。 -
ASP.NET Core 中 AOP 的支持有哪些?
通过 Filter(过滤器)支持 AOP。有以下类型:
(1) AuthorizationFilter (授权过滤器)
(2) ResourceFilter (资源过滤器)
(3) ExceptionFilter (异常过滤器)
(4) ActionFilter (操作过滤器)
(5) ResultFilter (结果过滤器)注:Filter 也翻译为筛选器(微软在线文档)、拦截器、过滤器
-
ASP.NET Core Filter 的注册方式有哪些?
(1) 方法注册,只对方法生效。
(2) 控制器注册,对控制器内的所有方法生效。
(3) 全局注册,对整个应用程序生效。 -
ASP.NET Core Filter 如何支持依赖注入?
(1) 通过全局注册支持依赖注入;
(2) 通过 ServiceFilter 和 TypeFilter 支持依赖注入。其中:
① ServiceFilter 和 TypeFilter 都实现了 IFilterFactory
② ServiceFilter 需要对自定义的 Filter 进行注册,TypeFilter 不需要
③ ServiceFilter 的 Filter 生命周期源于注册的生命周期,TypeFilter 每次都会创建一个新的实例 -
ASP.NET Core 如何读取配置文件中的内容?
通过 IConfiguration 接口读取配置
此题答案不全,还有其他方式读取
参考 ASP.NET Core 中的配置
-
ASP.NET Core 有哪些好的功能?
(1) 依赖注入
(2) 日志系统架构
(3) 引入了一个跨平台的网络服务器 kestrel,可以在没有 IIS、apache、nginx 就可以单独运行
(4) 可以使用命令行创建应用
(5) 使用 appsettings.json 配置程序
(6) 使用 Startup 配置服务和应用的请求管道
(7) 更好地支持异步编程
... -
ASP.NET Core 主要的特性
答案和题目 10 一样 -
Startup.cs 的作用?
配置服务和应用的请求管道。 -
Server.Transfer 和 Response.Redirect 的区别是什么?
(1) Server.Transfer 仅是服务器控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址。
(2) Response.Redirect 则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接,在客户端浏览器地址栏中可以看到跳转后的地址。 -
API,什么时候用 Get/Post/Put/Delete?
(1) Get: 查询
(2) Post: 创建对象
(3) Put: 修改对象
(4) Delete: 删除 -
依赖注入后的服务生命周期?
(1) 单例 (Singleton): 服务只有一个实例被创建,这个实例存储在内存中,可以在整个应用程序中使用。单例服务必须是线程安全的,通常在无状态服务中使用。
(2) 作用域 (Scoped): 在作用域(如单个请求)中只创建一个服务实例。在处理请求的应用中,在请求结束时会释放有作用域的服务。
(3) 瞬态 (Transient): 每次调用服务都会创建一个新的实例。在处理请求的应用中,在请求结束时会释放瞬态服务。 -
如何启用 Cors?
(1) 第一步,在 Startup ConfigureServices 中添加 Cors:AddCors
(2) 第二步,在 Startup Configure 中调用 Cors:UseCors -
简述对 RESTful 的理解。
RESTful 是一个流行的接口设计规范。在该规范中使用 Http 接口请求方法类型区分操作类型:
(1) Get: 查询
(2) Post: 创建资源
(3) Put: 修改资源(客户端提供完成的资源数据)
(4) Patch: 修改资源(客户端提供需要修改的数据)
(5) Delete: 删除