微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET Core详解1——基础了解

一:.NET Core 的有点和特性

  1.跨平台

     ASP.NET 4.x 应用程序只能在 IIS 上托管,而 ASP.NET Core 应用程序可以托管在 IIS,Apache,Docker 甚至自己把自己托管在进程中(俗称:自托管)。 从开发方式上来看,您可以使用 Visual Studio 或 Visual Studio Code 来构建.NET Core 应用程序。您也可以使用 Sublime 等第三方编辑器。

  2.MVC与Web API统一的编程模型

  3.依赖注入

  4.可测试性

  5.开源

  6.模块化

二:创建项目

  创建一个 “ASP.NET Core Web 应用程序”,并选择空模板;

  1.项目文件    

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>
  <ItemGroup>
    <packagereference Include="Microsoft.AspNetCore.App" />
    <packagereference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>
</Project>

  TargetFramework:此元素用于指定应用程序的目标框架,即开发者希望为应用程序提供的API程序集;

  AspNetCoreHostingModel:此元素指定应如何托管 Asp.Net Core 应用程序。它表示程序应该托管 InProcess(进程内)还是 OutOfProcess(进程外)。 InProcess 的值指定我们想要使用进程内托管模型,即在 IIS 工作进程(w3wp.exe)中托管我们的 asp.net core 应用程序。 OutOfProcess 的值指定我们要使用进程外托管模型,将 Web 请求转发到运行 Kestrel 服务器的后端 ASP.NET Core 应用程序;

  packagereference:顾名思义,此元素用于包含对为您的应用程序安装的所有 NuGet 包的引用;

  实际上,用VS2019创建ASP.NET Core Web 应用程序的项目文件

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

</Project>

  2.项目中的Main方法

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

   ASP.NET Core 应用程序最初作为控制台应用程序启动,而Program.cs文件中的Main()方法就是入口。   

  3.启动类Startup 

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    { }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.Run(async (context) =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    }
}

    启动类只有两个重要方法

      ConfigureServices()方法配置应用程序所需的服务;

      Configure()方法配置应用程序的请求处理管道;

 

  

  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐