ASP.NET Core 面试题(一)

简介: ASP.NET Core 面试题(一)

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;
  • 具有对跨站请求的预防和保护机制。


目录
相关文章
|
2月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
2月前
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
32 1
|
3月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
3月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
105 3
|
2月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
3月前
|
开发框架 NoSQL .NET
利用分布式锁在ASP.NET Core中实现防抖
【9月更文挑战第5天】在 ASP.NET Core 中,可通过分布式锁实现防抖功能,仅处理连续相同请求中的首个请求,其余请求返回 204 No Content,直至锁释放。具体步骤包括:安装分布式锁库如 `StackExchange.Redis`;创建分布式锁服务接口及其实现;构建防抖中间件;并在 `Startup.cs` 中注册相关服务和中间件。这一机制有效避免了短时间内重复操作的问题。
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
44 7
|
3月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
68 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
52 0
|
4月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?