1.如何在ASP.NET Core中激活Session功能?
- 首先要添加 session 包.
- 其次要在 config service 方法里面添加 session。
- 然后又在 configure 方法里面调用 usesession。
2.什么是中间件?
中间件在这里是指注入到应用中处理请求和响应的组件。是通过多个委托来嵌套形成的一个俄罗斯套娃! 或 中间件在这里是指注入到应用中处理请求和响应的组件。asp.net core 的中间件模型也是洋葱模型(和 node.js d Koa 一样)
3.Applicationbuilder的Use和Run方法有什么区别?
这两个方法都在startup 类的configure方法里面调用。都是用来向应用请求管道里面添加中间件的。Use方法可以调用下一个中间件的添加,而run不会。run是终结式的;
4.如何使taghelper(标记辅助)在元素这一层上失效?
使用叹号。
5.什么是ASP.NET Core?
首先ASP.NET Core可以说是 ASP.NET的升级版本。它遵循了.NET的标准架构,是一个基于.NET Core的Web开发框架, 可以运行于多个操作系统上。它更快,更容易配置,更加模块化,可扩展性更强。
6.ASP.NET Core 中AOP的支持有哪些?
通过Filter来支持;分别有IResourceFilter AuthorizeFilter ActionFilter ExceptionFilter ResultFilter,Filter也被称为拦截器!
7.ASP.NET Core Filter的注册方式有哪些?
方法注册:只对方法生效 控制器注册:对控制器中的所有方法生效 全局注册:对整个项目生效;
8.ASP.NET Core Filter如何支持依赖注入?
可以通过全局注册,支持依赖注入 通过TypeFilter(typeof(Filter)) 标记在方法,标记在控制器 通过ServiceType(typeof(Filter))标记在方法,标记在控制器,必须要注册Filter这类; TypeFilter和ServiceType的本质是实现了一个IFilterFactory接口;
9.ASP.NET Core 如何和读取配置文件中的内容?
代码语言:javascript复制可以有两种方式,可以通过IConfiguration接口来读取; 有可以定义根据配置文件结构一致的实体对象,来绑定到对象中去;或者通过1写入,2注入读取 必须保证:DBConnectionOption和配置文件的内容结构一致;
//第一种
services.Configure<DBConnectionOption>(Configuration.GetSection("ConnectionStrings"));//注入多个链接
代码语言:javascript复制//第二种
private DBConnectionOption dBConnections = null;
private DbContext _Context = null;
public DbContextFactory(DbContext context, IOptions<DBConnectionOption> options)
{
_Context = context;
dBConnections = options.Value;
}
10.ASP.NET Core有哪些好的功能?
第一是依赖注入。 第二是日志系统架构。 第三是引入了一个跨平台的网络服务器,kestrel。可以没有iis, apache和nginx就可以单独运行。 第四是可以使用命令行创建应用。 第五是使用appsettings来配置工程。 第六是使用startup来注册服务。 第七是更好的支持异步编程。 第八是支持web socket和signal IR。 第九是对于跨网站的请求的预防和保护机制。
11、asp.net core 主要的特性
- 依赖注入。
- 日志系统架构。
- 引入了一个跨平台的网络服务器,kestrel。可以没有 iis, apache 和 nginx 就可以单独运行。
- 可以使用命令行创建应用。
- 使用 AppSettings.json 来配置工程。
- 使用 start up 来注册服务。
- 更好的支持异步编程。
- 支持 web socket 和 signal IR。
- 对于跨网站的请求的预防和保护机制。
12、startup.cs的作用?
Startup class 是 dot net core 应用的入口。所有的 dot net core 应用必须有这个 class。这个类用来配置应用。这个类的调用是在 program main 函数里面进行配置的。类的名字可以自己定义。
13、Server.Transfer 和 Response.Redirect 的区别是什么?
- Server.Transfer 仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
- Response.Redirect 则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。
14、API,什么时候用 Get/Post/Put/Delete
- GET: 查询
- POST :创建对象
- PUT: 修改对象
- DELETE:删除
15、依赖注入后的服务生命周期?
在 .Net core 中,我们不需要关心如何释放这些服务, 因为系统会帮我们释放掉。有三种服务的生命周期。
- 单实例服务, 通过 add singleton 方法来添加。在注册时即创建服务, 在随后的请求中都使用这一个服务。
- 短暂服务, 通过 add transient 方法来添加。是一种轻量级的服务,用于无状态服务的操作。
- 作用域服务,一个新的请求会创建一个服务实例。使用 add scoped 方法来添加。