版权提示:本文首发于 InfoQ,首发地址,后续发于本人的 CSDN 博客、微信公众号,未经本人授权请勿转载
1、如何激活 ASP.NET Core 的 Session 功能?
首先添加 Session 包,其次在 ConfigService 方法中添加 Session,最后在 Configure 方法里调用 UseSession。
2、何为中间件
在 ASP.NET Core 中中间件指的是注入到应用中用来处理请求和相应的组件,是通过多个委托嵌套形成的。
3、Applicationbuilder 的 Use 和 Run 方法有什么异同?
首先这两个方法都是在 startup 类的 configure 方法里面调用的,并且都是用来向应用请求管道里面添加中间件的。但是 Use 方法可以调用下一个中间件,Run 方法则不能,它是终结式的。
4、如何使 taghelper 在元素层级上失效?
使用叹号即可。
5、ASP.NET Core 是什么?
ASP.NET Core 可以说是 ASP.NET 的升级版本,它遵循 .NET 标准框架,是基于 .NET Core 的 Web 开发框架,可运行于多种操作系统,相比 ASP.NET 来说更快、更易于配置、更加模块化,并且扩展性更加强。
6、ASP.NET Core 中 AOP 是通过什么来支持的?分别有哪些?
AOP 是通过 Filter 来支持的,分别有 IResourceFile、AuthorizeFilter、ActionFilter、ExceptionFilter、ResultFilter。
7、ASP.NET Core Filter 注册方式有哪几种?它们的有效范围
有三种,分别是: 方法注册:只对方法生效; 控制器注册:只对控制器中的方法生效; 全局注册:对整个项目生效;
8、ASP.NET Core Filter 如何支持依赖注入?
- 通过全局注册的方式支持依赖注入:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<TestActionFilterAttribute>();
services.AddControllersWithViews(options =>
{
options.Filters.Add<TestActionFilterAttribute>();
});
}
- 通过 TypeFilter(typeof(Filter)) 注入( 标记在方法、控制器):
[TypeFilter(typeof(Filter))]
public IActionResult Index()
{
return View();
}
- 通过 ServiceType(typof(Filter)) 注入( 标记在方法、控制器,必须要注册Filter这个类):
[ServiceFilter(typeof(Filter))]
public IActionResult Index()
{
return View();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<TestActionFilterAttribute>();
services.AddControllersWithViews();
}
9、ASP.NET Core 读取配置文件内容的方法?
读取配置文件的方法有两种,一种是通过 IConfiguration 接口读取,一种是根据配置文件结构定义出结构一致的实体对象去绑定。
10、请列举出你所知道的 ASP.NET Core 的优秀功能。
- 依赖注入;
- 日志系统架构;
- 具有跨平台网络服务器 kestrel ,可以在没有 IIS、Apache和Nginx 的情况下单独运行;
- 可以使用命令行来创建应用;
- 使用 json(appsettings) 配置工程;
- 使用 startup 注册服务;
- 提升了对异步编程的支持性;
- 完全支持 web socket 和 signalR;
- 具有对跨站请求的预防和保护机制。