.Net Core 面试题

什么是 asp .net core?

首先ASP net core不是 asp net的升级版本。它遵循了dot net的标准架构,
可以运行于多个操作系统上。它更快,更容易配置,更加模块化,可扩展性更强。

.net core有哪些好的功能?

  1. 依赖注入。
  2. 日志系统架构。
  3. 引入了一个跨平台的网络服务器,kestrel。可以没有iis, apache和nginx就可以单独运行。
  4. 可以使用命令行创建应用。
  5. 使用APP settings json file来配置工程。
  6. 使用start up来注册服务。
  7. 更好的支持异步编程。
  8. 支持web socket和signal IR。
  9. 对于跨网站的请求的预防和保护机制。

.net core 和 .net 比较有哪些更好的地方?

  1. 跨平台, 可以运行在三大操作系统上面 Windows , Linux , Mac。
  2. 对架构本身安装没有依赖,因为所有的依赖都跟程序本身在一起。
  3. .net core 处理请求的效率更高,能够处理更多的请求。
  4. .net core 有更多的安装配置方法。

.net core 应用能够跟 .net 4.x 架构一起工作吗?

可以。.net core 可以跟标准的.net 库一起工作。

什么是 .net core 的 startup class?

Startup class是.net core应用的入口。所有的 .net core应用必须有这个class。
这个类用来配置应用。这个类的调用是在program main函数里面进行配置的。类的名字可以自己定义。

Startup class的 config service方法有什么作用?

这个方法里我们可以添加一些 service 进入依赖注入容器。

startup class的configure方法有什么作用?

这个方法来定义整个应用如何响应HTTP请求。它有几个比较重要的参数,
application builder,Hosting environment, logo factory,
在这里我们可以配置一些中间件用来处理路径,验证和session等等。

什么是中间件?

中间件在这里是指注入到应用中处理请求和响应的组件。

application builder的use和run方法有什么区别?

这两个方法都在start up class的configure方法里面调用。
都是用来向应用请求管道里面添加中间件的。
Use方法可以调用下一个中间件的添加,而run不会。

.net core 管道里面的map拓展有什么作用?

可以针对不同的路径添加不同的中间件。

dot net core里面的路径是如何处理的?

路径处理是用来为进入的请求寻找处理函数的机制。
所有的路径在函数运行开始时进行注册。
主要有两种路径处理方式,
常规路径处理和属性路径处理。
常规路径处理就是用MapRoute的方式设定调用路径,
属性路径处理是指在调用函数的上方设定一个路径属性。

什么是dot net core里面的tag helper?

Tag helper用来在服务器端使用Razor视图引擎创建html元素的。

如何使tag helper在元素这一层上失效?

使用叹号。

什么是Razor页面?

是.net core中支持ASP网页表格的一种开发模型。@page 作为页面的起始标志。

如何在Razor页面中实现数据模型绑定?

使用bindproperty属性。

如何在controller中注入service?

在config services方法中配置这个service。
在controller的构造函数中,添加这个依赖注入。

描述一下依赖注入后的服务生命周期?

在dot net core中,
我们不需要关心如何释放这些服务,
因为系统会帮我们释放掉。
有三种服务的生命周期。
单实例服务, 通过add singleton方法来添加, 在注册时即创建服务, 在随后的请求中都使用这一个服务。
短暂服务, 通过add transient方法来添加。是一种轻量级的服务,用于无状态服务的操作。
作用域服务,一个新的请求会创建一个服务实例。使用add scoped方法来添加。

你可能感兴趣的:(C#后端)