1.说说.NET7中 _ViewImports文件的作用?

2.什么是Razor页面?

3.说说.NET5中 __ViewStart文件的作用?

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

5.如何在Controller中注入service?

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

7.说说ASP.NET Core内置容器的特点;

8.ASP.NET Core中如何读取静态文件?

9.ASP.NET Core项目如何设置IP地址和端口号?

10.ASP.NET Core项目中,wwwroot文件夹内包含什么内容?

11.如何理解C#10 中全局的using

12.NET6 中中间件的底层实现和.NET5中间件的区别。

13.谈对ASP.NET Core kestrel的理解

14.谈谈对Autofac的理解

15.ASP.NET Core 如何支持Log4Net扩展?


.bold { font-weight: bold }

1.说说.NET7中 _ViewImports文件的作用?

在.NET7中可以支持组件化编程,定义的各种组件,在项目中使用的时候,需要在_ViewImports文件中引入进来。


2.什么是Razor页面?

是ASP.NET Core中支持ASP网页表格的一种开发模型。@page 作为页面的起始标志。。
Stringbulider的使用, 好制定合适的容量值,否则优于默认值容量不足而频繁的进行内存分


3.说说.NET5中 __ViewStart文件的作用?

在控制器在返回视图的时候,开始替换视图引擎的时候,从_ViewStart.cshtml 开始,来初始化展示的视图界面;


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

使用bindproperty属性。


5.如何在Controller中注入service?

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


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

在ASP.NET Core中,我们不需要关心如何释放这些服务, 因为系统会帮我们释放掉。有三种服务的生命周期。

  • 单实例服务, 通过add singleton方法来添加。在注册时即创建服务, 在随后的请求中都使用这一个服务。
  • 短暂服务, 通过add transient方法来添加。是一种轻量级的服务,用于无状态服务的操作。
  • 作用域服务,一个新的请求会创建一个服务实例。使用add scoped方法来添加。

  • 7.ASP.NET Core跟ASP.NET比较有哪些更好的地方?

    第一是跨平台,它可以运行在三大操作系统上面,windows, Linux和MAC。

    第二是对架构本身安装没有依赖,因为所有的依赖都跟程序本身在一起。

    第三是ASP.NET Core处理请求的效率更高,能够处理更多的请求。

    第四是ASP.NET Core有更多的安装配置方法。


    8.说说ASP.NET Core内置容器的特点?

    ASP.NET Core内置容器IServiceCollection,只支持构造函数注入;支持三种声明周期:单例、瞬时、
    Scoped三种声明周期管理;


    9. ASP.NET Core中如何读取静态文件?

    可以通过中间件UseStaticFiles来配置读取静态文件;

    //示例:要访问D盘的MyStaticFiles文件夹下的images文件夹下的banner1.svg问件该如何呢?
    
    public void Configure(IApplicationBuilder app)
    {
    app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions
    {
    FileProvider = new PhysicalFileProvider("D:/MyStaticFiles"),
    RequestPath = "/StaticFiles"
    });
    } //html文件
    <img src="~/StaticFiles/images/banner1.svg" alt="pic"/>

    10.ASP.NET Core项目如何设置IP地址和端口号?

    可以使用Properties文件夹下的launchSettings配置文件来配置不同的启动方式的时候,分别配置IP和端口号。

    //launchSettings.json
    
    {
    "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
    "applicationUrl": "http://localhost:8088/",
    "sslPort": 0
    }
    },
    "profiles": {
    "IIS Express": {
    "commandName": "IISExpress",
    "launchBrowser": true,
    "launchUrl": "swagger",
    "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
    }
    },
    "Hx.USORST.CustomerStock.WebApi": {
    "commandName": "Project",
    "launchBrowser": true,
    "launchUrl": "swagger",
    "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "applicationUrl": "http://localhost:8088"
    }
    }
    }

    11.ASP.NET Core项目中,wwwroot文件夹内包含什么内容?

    包含了css、js、js库、字体文件


    12.如何理解C#10 中全局的using?

    using 指令简化了您使用命名空间的方式。C# 10 包括一个新的全局 using 指令和隐式 usings,以减少您需要在每个文件顶部指定的 usings 数量。

    全局 using 指令:如果关键字 global 出现在 using 指令之前,则 using 适用于整个项目。

    隐式 usings:隐式 usings 功能会自动为您正在构建的项目类型添加通用的全局 using 指令。要启用隐式 usings,请在 .csproj 文件中设置 ImplicitUsings 属性


    13.NET6 中中间件的底层实现和.NET5中间件的区别?

    从底层实现没有太大的区别,都是委托的多层嵌套,实现中间件的组装,在.NET6中提供了更多的重载可以来调用;都是基于底层还是转换成委托的多层嵌套式。


    14.谈谈对ASP.NET Core kestrel的理解?

    Kestrel 是一个跨平台的适用于 ASP.NET Core 的 Web 服务器。 Kestrel 是 Web 服务器,默认包括在 ASP.NET Core 项目模板中。

    Kestrel 支持以下方案:

  • HTTPS
    28
    用于启用 WebSocket 的不透明升级用于获得 Nginx 高性能的 Unix 套接字
    HTTP/2(除 macOS† 以外) macOS 的未来版本将支持 †HTTP/2。
    .NET Core 支持的所有平台和版本均支持 Kestrel。
  • 15.谈谈对Autofac的理解?

    Autofac是一个IOC容器,支持三种类型的DI依赖注入,配置文件配置映射关系,支持AOP扩展定制; 在ASP.NET Core的使用步骤如下:
    1.Nuget引入Autofac程序集
    2.在Program类中的CreateHostBuilder方法中,通过.UseServiceProviderFactory(new AutofacServiceProviderFactory())替换容器工厂,把容器替换到框架中;
    3.在StartUp中增加ConfigureContainer方法,用来配置映射关系

    public void ConfigureContainer(ContainerBuilder builder){}
    
    使用了Autofac以后,在ISerxicecollection中注入的服务,也能生效﹔因大4wtofac是先接受了所有的来自于IServicecollection的服务映射后,再去读取ConfiquceCootainer方法中配置的映射;

    4.就可以在控制器中配置构造函数注入了

    4 .NET Core笔试题的更多相关文章

    1. ASPNET Core笔试题

      1.如何在ASP.NET Core中激活Session功能? 首先要添加session包. 其次要在configservice方法里面添加session.然后又在configure方法里面调用 use ...

    2. 【笔试题】Spring笔试题

      spring笔试题 1.Spring支持的事务管理类型 Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护. 声明式事务管理:这意味 ...

    3. 【笔试题】Java笔试题知识点

      Java高概率笔试题知识点 Java语法基础部分 [解析]java命令程序执行字节码文件是,不能跟文件的后缀名! 1.包的名字都应该是由小写单词组成,它们全都是小写字母,即便中间的单词亦是如此 2.类 ...

    4. 对Thoughtworks的有趣笔试题实践

      记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

    5. 从阿里巴巴笔试题看Java加载顺序

      一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

    6. 我设计的ASP.NET笔试题,你会多少呢

      本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

    7. C#经典笔试题-获取字符串中相同的字符以及其个数

      public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

    8. flhs笔试题-回家上机实践

      这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...

    9. 也许你需要点实用的-Web前端笔试题

      之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

    10. [c#基础]关于try...catch最常见的笔试题

      引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

    随机推荐

    1. 解决win7连接蓝牙耳机播放设备找不到的问题

      前言 这个问题其实就是蓝牙驱动问题, 而用第三方软件安装驱动,如驱动精灵安装蓝牙驱动,可能会不出现缺失驱动问题,但是一些功能会受到限制(win7系统与其蓝牙驱动不兼容). 解决办法 去 Inter官网 ...

    2. windows 使用ACR122U-A9设备读写M1卡

      软件地址 M1卡服务程序 安装好驱动后就可以破解,破解成功后的秘钥会显示出来(记录下来),同级目录会生成一个dump文件,这个文件包含此M1卡的全部数据,可以使用hexedit打开,编辑或修改 Mif ...

    3. mysql-front连接mysql报错1251解决方法

      客户端不通过服务器的验证,建议升级mysql客户端 出现错误的原因是mysql版本问题,由于mysql8.0版本与mysql5.0版本加密方式不同,导致mysql-front无法通过验证. mysql ...

    4. 【每日一题】【链表.next.next判空条件】141. 环形链表/NC4 判断链表中是否有环-211120/220123

      给你一个链表的头节点 head ,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链 ...

    5. JAVA里Map的一些常用方法

      Map的常用方法 案例1 场景:一张建行用户体验金信息大表(百万级别),里面存在一个字段对多条数据,需要统计某个字段的多条数据累加值以供于别的服务调用. 优化前解决:直接查出来一个大list给到另一个 ...

    6. 自研ORM框架实现工作单元模式

      平时我们使用事务,需要显示的Try Catch 并且开启事务 提交事务 异常回滚事务 三步骤,使用工作单元后则只需要Commit. 1.接口定义 1 /// <summary> 2 /// ...

    7. Spark详解(02) - Spark概述

      Spark详解(02) - Spark概述 什么是Spark Hadoop主要解决,海量数据的存储和海量数据的分析计算. Spark是一种基于内存的快速.通用.可扩展的大数据分析计算引擎. Hadoo ...

    8. [Leetcode]在排序数组中查找元素的第一个和最后一个位置

      题目 代码 class Solution { public: vector<int> searchRange(vector<int>& nums, int target ...

    9. P3934 [Ynoi2016] 炸脖龙 I

      题面 给一个长为 \(n\) 的序列,\(m\) 次操作,每次操作: 1.区间 \([l,r]\) 加 \(x\) 2.对于区间 \([l,r]\),查询: \[a[l]^{a[l+1]^{a[l+2 ...

    10. lock 和 Monitor (转载)

      Lock和Monitor都是对被操作对象同步控制的方法 Lock 是 Monitor的简化版本,IL callvirt ...Monitor.Enter(object)...leave.s.... c ...