首页 > 其他分享 >4 .NET Core笔试题

4 .NET Core笔试题

时间:2023-02-20 18:14:53浏览次数:52  
标签:Core ASP 服务 文件 笔试 using NET

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扩展?


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.就可以在控制器中配置构造函数注入了

    标签:Core,ASP,服务,文件,笔试,using,NET
    From: https://www.cnblogs.com/zhendayong/p/17138259.html

    相关文章

    • 前端工程师面试题10条必会笔试题
      布局左边20%中间自适应右边200px不能用定位答案:圣杯布局/双飞翼布局或者flex什么叫优雅降级和渐进增强?渐进增强progressiveenhancement:针对低版本浏览器进行......
    • Is it the era of the Internet of Things or the era of biotechnology?
      Foraconnecteddevicetotakeactiononyourbehalf,whetherit’spayingwhenyoursmartrefrigeratorreordersmilk,orasmartTVthatallowsordeniesyour......
    • Kubernetes-yaml详解
      目录:Yaml语法格式查看api资源版本标签deployment模板service模板查询帮助和格式指令Pod模板写yaml太累怎么办yaml文件的学习方法deployment.yaml文件详解Servi......
    • net 中间件动态过滤api的返回值
      需求:api方法返回的信息是固定的,现在业务发生调整不同人员看到的返回字段可配置,为人员配置不可查看字段,方法的返回值中不可查看字段将会被过滤。处理思路:通过中间件处理api......
    • OneToMany字段序列化 failed to lazily initialize a collection of role
      hibernate项目中,如果要对onetomany的pojo对象中的字段序列化,则会抛failedtolazilyinitializeacollectionofrole错误。  解决方法1:目前我是用Jackson中的@JsonIgnor......
    • netplan配置
      配置要配置netplan,请在下面保存带有扩展名的配置文件(例如),然后运行。此命令解析配置并将其应用于系统。写入磁盘的配置将在两次重新启动之间保留。/etc/netplan/``.yaml......
    • .NET 6 创建 gRPC 服务(简单实现)
      .NET6创建gRPC服务gRPC(https://grpc.io)是一个由Google开发的高性能、开源、跨多种编程语言和通用的远程过程调用协议(RPC)框架,用于客户端和服务端之间的通信,使用......
    • Centos运行.net core程序的多种方式以及相互之间的区别。
       nohupdotnet/www/wwwroot/xxx.dll--urls"http://*:6001;http://*:6002"&此时候的6001和6002端口对应的程序的内存和static变量都是存在同一个堆栈里面,可以做缓存。......
    • leveldb.net区块链技术
      leveldb.net工作原理:leveldb为键值对数据库,具有增加,删除,查询功能,利用加密链式结构存储和查询数据。区块(block):在区块链技术中,数据以电子记录的形式被永久储存下来,存放这些......
    • 档案系统leveldb.net集成
      leveldb.net工作原理:leveldb为键值对数据库,具有增加,删除,查询功能,利用加密链式结构存储和查询数据。区块(block):在区块链技术中,数据以电子记录的形式被永久储存下来,存放这些......