当前位置: 首页 > article >正文

ASPNET 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跟ASP.NET比较有哪些更好的地方?
  • 十二、什么是meta packages?
  • 十三、ASP.NET Core应用能够跟ASP.NET 4.x架构一起工作吗?
  • 十四、什么是ASP.NET Core的Startup类?
  • 十五、Startup类的ConfigureServices方法有什么作用?
  • 十六、Startup类的Configure方法有什么作用?
  • 十七、ASP.NET Core管道里面的Map扩展有什么作用?
  • 十八、ASP.NET Core里面的路径是如何处理的?
  • 十九、ASP.NET Core工程里面有多少个工程文件?
  • 二十、什么是ASP.NET Core里面的TagHelper
  • 二十一、说说.NET Core中_ViewImports文件的作用
  • 二十二、如何在Controller中注入service?
  • 二十三、描述一下依赖注入后的服务生命周期?
  • 二十四、说说ASP.NET Core内置容器的特点
  • 二十五、ASP.NET Core中如何读取静态文件?
  • 二十六、ASP.NET Core项目如何设置IP地址和端口号?
  • 二十七、ASP.NET Core项目中,wwwroot文件夹内包含什么内容?
  • 二十八、谈谈对ASP.NET Core kestrel的理解
  • 二十九、谈谈对Autofac的理解
  • 三十、ASP.NET Core 如何支持Log4Net扩展?
  • 三十一、说说脚本启动ASP.NET Core Web项目
  • 三十二、说说Core WebApi的Swagger
  • 三十三、说说Core WebApi特性路由
  • 三十四、说说 restful 是什么
  • 三十五、说说脚本在请求Web CoreApi的时候,为什么会发生跨域问题?
  • 三十六、如何解决跨域问题?
  • 三十七、说说你了解到的鉴权授权技术
  • 三十八、请问对gRPC有了解吗,说说gRPC
  • 三十九、gRPC有几种模式?
  • 四十、说说如何使用C#实现简单模式gRPC
  • 四十一、说说gRPC的拦截器有哪些?
  • 四十二、gRPC作为一种被调用的服务,有什么保护安全的措施吗?
  • 四十三、简单介绍下EFCore
  • 四十四、说说EFCore查询的性能调优小技巧
  • 四十五、EFCore 如何通过数据生成实体和DbContext?
  • 四十六、说说对SaveChanges的理解
  • 四十七、说说对EFCore中EntityState的理解
  • 四十八、说说什么是导航属性和引用属性?


在这里插入图片描述

一、如何在ASP.NET Core中激活Session功能?

要在ASP.NET Core中激活 Session 功能,首先需要添加 Session 包,然后在Startup 类的 ConfigureServices 方法中添加 Session 服务,最后在 Configure 方法中调用 UseSession 中间件。

二、什么是中间件?

中间件是 ASP.NET Core 中用于处理请求和响应的组件,它们通过多个委托嵌套形成一个请求处理管道。中间件可以执行任务如身份验证、授权、错误处理等,并可决定传递请求到下一个中间件或直接结束请求。

三、ApplicationBuilder的Use和Run方法有什么区别?

Use 方法用于添加中间件到应用程序的请求处理管道中,并且可以调用链中的下一个中间件。Run 方法则是一个终结式的方法,用于指定当请求到达管道末端时执行的最终处理逻辑,它不调用下一个中间件。

四、如何使TagHelper在元素这一层上失效?

可以使用感叹号(!)语法来使 TagHelper 在特定元素上失效,这告诉 ASP.NET Core 忽略该元素的 TagHelper

五、什么是ASP.NET Core?

ASP.NET Core 是一个跨平台、高性能、开源的 Web 框架,用于构建现代化的云基础 Web 应用程序。它提供了模块化的设计,支持依赖注入、中间件、配置注入等特性,并且可以运行在 WindowsLinuxmacOS 上。

六、ASP.NET Core中AOP的支持有哪些?

ASP.NET Core 通过 Filter 支持面向切面编程(AOP),包括 IResourceFilterAuthorizeFilterActionFilterExceptionFilterResultFilter 等类型,这些 Filter 也被称为拦截器。

七、ASP.NET Core Filter的注册方式有哪些?

ASP.NET Core Filter 可以通过以下方式注册:

  • 方法注册:只对特定方法有效。
  • 控制器注册:对控制器中的所有方法有效。
  • 全局注册:对整个项目有效。

八、ASP.NET Core Filter如何支持依赖注入?

ASP.NET Core Filter 支持依赖注入,可以通过构造函数注入所需的服务,或者使用 TypeFilterServiceType 属性来实现依赖注入。

九、ASP.NET Core如何读取配置文件中的内容?

ASP.NET Core可以通过 IConfiguration 接口读取配置文件内容,也可以定义与配置文件结构一致的实体对象,并通过依赖注入将配置绑定到对象中。

十、ASP.NET Core有哪些好的功能?

ASP.NET Core的优点包括跨平台支持、无需依赖 IIS 运行、内置的中间件支持、配置灵活性、支持依赖注入、更好的性能和安全性、以及对 RESTful APIWeb Sockets 的原生支持等。

十一、ASP.NET Core跟ASP.NET比较有哪些更好的地方?

与ASP.NET相比,ASP.NET Core提供了更好的性能和可扩展性,支持跨平台运行,具有更小的内存占用和更快的响应时间,同时提供了更简洁和模块化的 API 设计。

十二、什么是meta packages?

Meta packages 是指包含所有 ASP.NET Core 依赖的单一包,例如Microsoft.AspNetCore,它使得开发者可以方便地引入整个框架的依赖。

十三、ASP.NET Core应用能够跟ASP.NET 4.x架构一起工作吗?

是的,ASP.NET Core应用可以与ASP.NET 4.x架构一起工作,它们可以共存并利用ASP.NET Core的跨平台和模块化特性。

十四、什么是ASP.NET Core的Startup类?

Startup 类是ASP.NET Core应用的入口点,用于配置服务和定义应用程序如何响应 HTTP 请求。这个类的 ConfigureServices 方法用于配置 依赖注入服务,而Configure 方法用于配置 请求处理管道

十五、Startup类的ConfigureServices方法有什么作用?

ConfigureServices 方法在 Startup 类中用于添加和配置应用程序的服务,这些服务可以通过依赖注入在应用程序中使用。

十六、Startup类的Configure方法有什么作用?

Configure 方法在 Startup 类中用于定义整个应用程序如何响应 HTTP 请求,包括配置中间件来处理路径、验证和会话等。

十七、ASP.NET Core管道里面的Map扩展有什么作用?

Map 扩展在ASP.NET Core管道中用于为特定的路径添加中间件,可以针对不同的路径配置不同的处理逻辑。

十八、ASP.NET Core里面的路径是如何处理的?

ASP.NET Core中的路径处理用于为进入的请求寻找处理函数,可以通过常规路径处理或属性路径处理来实现,支持 MapRoute 和属性路由等方式。

十九、ASP.NET Core工程里面有多少个工程文件?

ASP.NET Core工程中通常包含多个文件,包括 Startup.csProgram.csappsettings.jsonlaunchSettings.json 等,具体数量取决于项目配置和需求。

二十、什么是ASP.NET Core里面的TagHelper

TagHelper 是ASP.NET Core中用于在服务器端使用 Razor 视图引擎创建 HTML 元素的语法,它们提供了一种声明式的方式来编写服务器端代码。

二十一、说说.NET Core中_ViewImports文件的作用

_ViewImports.cshtml 文件在 .NET Core 中用于定义整个视图目录中所有视图共享的指令和命名空间,可以简化视图文件的内容。

二十二、如何在Controller中注入service?

Controller 中注入 service ,可以通过在 Controller 的构造函数中添加服务的依赖注入,然后通过构造函数参数的形式传入服务实例。

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

ASP.NET Core中的依赖注入支持三种服务生命周期:

  • 单例(Singleton)
  • 瞬态(Transient)
  • 作用域(Scoped)
    单例在整个应用中只有一个实例,短暂每次请求都会创建新实例,作用域则是每个请求一个新实例。

二十四、说说ASP.NET Core内置容器的特点

ASP.NET Core内置容器 IServiceCollection 支持构造函数注入,提供三种生命周期管理:单例、瞬时和作用域。它是一个轻量级的依赖注入容器,用于管理服务的注册和解析。

二十五、ASP.NET Core中如何读取静态文件?

ASP.NET Core中可以通过中间件 UseStaticFiles 来配置读取静态文件,通常在Startup 类的 Configure 方法中进行配置。

二十六、ASP.NET Core项目如何设置IP地址和端口号?

ASP.NET Core项目可以通过 launchSettings.json 配置文件来设置不同的启动方式和相应的 IP 地址及端口号。

二十七、ASP.NET Core项目中,wwwroot文件夹内包含什么内容?

·wwwroot文件夹通常包含静态文件,如CSSJavaScript` 文件、字体文件和库文件等。

二十八、谈谈对ASP.NET Core kestrel的理解

Kestrel 是一个跨平台的 Web 服务器,适用于ASP.NET Core,支持 HTTP/2WebSocket 。它是ASP.NET Core项目模板中的默认Web服务器。

二十九、谈谈对Autofac的理解

Autofac 是一个依赖注入容器,支持ASP.NET Core的依赖注入系统,允许配置组件和服务的映射关系,并支持 AOP 扩展定制。

三十、ASP.NET Core 如何支持Log4Net扩展?

ASP.NET Core支持 Log4Net 扩展,可以通过 NuGet 引入 Log4Net 程序集,然后在 Startup 类的 Configure 方法中配置日志服务。

三十一、说说脚本启动ASP.NET Core Web项目

可以通过命令行工具启动ASP.NET Core Web项目,使用 dotnet run 命令或 dotnet <dll文件> --urls=http://ip地址:端口号命令

三十二、说说Core WebApi的Swagger

Swagger 是一个 API 文档生成和测试工具,可以在ASP.NET Core Web API项目中集成 Swagger ,以生成和展示 API 文档,支持 API 测试。

三十三、说说Core WebApi特性路由

特性路由是ASP.NET Core Web API中的一种路由方式,通过在控制器或动作上使用路由特性来定义路由模板,实现更灵活的路由配置。

三十四、说说 restful 是什么

restful 是一种设计风格,用于构建网络应用,它使用标准的 HTTP 方法,如GET、POST、PUT、DELETE 等,来执行资源的操作,强调无状态、统一接口和可缓存。

三十五、说说脚本在请求Web CoreApi的时候,为什么会发生跨域问题?

跨域问题是由于浏览器的 同源策略 导致的,当请求的协议、域名或端口与当前页面不同,浏览器会阻止请求以保护用户安全。

三十六、如何解决跨域问题?

解决跨域问题的方法包括:

  • 使用JSONP技术,通过 script 标签发起请求。
  • 使用CORS(Cross-Origin Resource Sharing)策略,服务器端设置响应头。
  • Access-Control-Allow-Origin。
  • 使用代理服务器,将请求转发到目标服务器。
  • 使用PostMessage进行跨文档通信。

三十七、说说你了解到的鉴权授权技术

鉴权授权技术包括传统的基于 SessionCookie 的鉴权,以及基于 Token 的鉴权,如 JWT(JSON Web Tokens)OAuth 。这些技术用于验证用户身份并控制用户对资源的访问权限。

三十八、请问对gRPC有了解吗,说说gRPC

gRPC 是一个高性能、开源和通用的 RPC 框架,由Google开发,面向移动和HTTP/2 设计。它支持多种语言,包括C、Java、Go、C#等。

三十九、gRPC有几种模式?

gRPC 有四种模式:

  • 简单模式:使用参数和返回值进行服务器与客户端的数据传递。
  • 客户端流模式:客户端向服务器发送数据流。
  • 服务器端流模式:服务器向客户端返回数据流。
  • 双向流模式:客户端和服务器可以同时发送和接收数据流。

四十、说说如何使用C#实现简单模式gRPC

使用 C# 实现简单模式 gRPC,需要:

  • 定义 .proto 文件,描述服务和消息结构。
  • 使用 gRPC 工具生成 C# 类文件。
  • 创建服务端和客户端代码,实现或调用 gRPC 方法。

四十一、说说gRPC的拦截器有哪些?

gRPC的拦截器包括:

  • 客户端拦截器:BlockingUnaryCall、AsyncUnaryCall、AsyncClientStreamingCall、AsyncServerStreamingCall、AsyncDuplexStreamingCall。
  • 服务端拦截器:UnaryServerHandler、ClientStreamingServerHandler、ServerStreamingServerHandler、DuplexStreamingServerHandler。

四十二、gRPC作为一种被调用的服务,有什么保护安全的措施吗?

·gRPC 支持多种安全措施,包括:

  • 使用SSL/TLS进行加密传输。
  • 支持JWT和OAuth 2.0等认证机制。
  • 可以使用API密钥进行请求验证。
  • 支持mTLS(双向TLS)进行服务端和客户端的身份验证。

四十三、简单介绍下EFCore

EF Core(Entity Framework Core)是一个适用于.NET的轻量级、跨平台的 ORM 框架,支持 LINQ 查询、变更追踪、更新以及结构描述转移。

四十四、说说EFCore查询的性能调优小技巧

EF Core查询性能调优技巧包括:

  • 使用 AsNoTracking() 方法,避免在内存中创建对象副本。
  • 多使用 Find() 方法,利用内存缓存提高查询效率。
  • 避免在查询中使用 Select() 方法加载不必要的数据。
  • 使用 Include() 方法预先加载相关数据,避免 N+1 查询问题。
  • 使用索引提高数据库查询效率。

四十五、EFCore 如何通过数据生成实体和DbContext?

EF Core 可以通过以下步骤通过数据生成实体和DbContext:

  • 使用 Scaffold-DbContext 命令,指定数据库连接字符串和要使用的提供者。
  • 指定输出目录和 DbContext 类名。
  • 执行命令,EF Core将根据数据库表生成对应的实体类和 DbContext 类。

四十六、说说对SaveChanges的理解

SaveChanges 是EF Core中用于将更改提交到数据库的方法。它将跟踪的实体的添加、修改和删除操作一次性应用到数据库中。

四十七、说说对EFCore中EntityState的理解

EntityState 是EF Core中用于跟踪实体状态的枚举,包括:

  • Detached:未被跟踪。
  • Unchanged:被跟踪且未修改。
  • Modified:被跟踪且已修改。
  • Added:被跟踪且新添加。
  • Deleted:被跟踪且标记为删除。

四十八、说说什么是导航属性和引用属性?

  • 导航属性是EF Core中用于在两个实体之间导航关系的方法。
  • 引用属性(EntityReference)用于一对一或零或一关系,而导航属性(EntityCollection)用于一对多或多对多关系。

http://www.kler.cn/a/569457.html

相关文章:

  • 【Transformer模型学习】第三篇:位置编码
  • 深度学习-138-LangGraph之应用实例(七)构建自动绘图系统
  • 【Block总结】SAFMN,空间自适应调制与局部特征增强的协同设计|即插即用
  • Eureka Server 数据同步原理解析
  • DeepSeek开源周Day6:DeepSeek V3、R1 推理系统深度解析,技术突破与行业启示
  • ElasticSearch第二弹——DSL查询7
  • Kubernetes (K8S) 核心原理深度剖析:从架构设计到运行机制
  • leetcode141.环形链表,142环形链表ii
  • 动态规划/贪心算法
  • 市场加速下跌,但监管「坚冰」正在消融
  • 记录一次跨库连表的坑
  • 算法刷题-2025年03月01日
  • Python使用pyobdc库和tkinter框架连接数据库
  • 蓝桥备赛(七)- 函数与递归(中)
  • 深度学习-12.变换器(Transformer)
  • 【Uniapp-Vue3】使用uniCloud.uploadFile上传图片到云存储
  • 青少年编程与数学 02-010 C++程序设计基础 13课题、数据类型
  • 九牧的“AI梦想曲”:卫浴场景进入到机器人时代
  • 【Java 后端】Restful API 接口
  • 高级算法分析与设计-分治法