网站首页 文章专栏 【Welcome to .NET Core】ASP.NET Core介绍
【Welcome to .NET Core】ASP.NET Core介绍
编辑时间:2017-08-25 20:45 作者:Absolutely 浏览:717 评论:5

       前言:.Net Core入门学习中,还望各位大神多多指点,理解有误的地方还望指正。


一、ASP.NET Core介绍

       ASP.NET Core是一个新的开源和跨平台框架,用于构建Web应用、移动后端应用等连接到互联网的现代应用程序。

       ASP.NET Core与传统ASP.NET相比,架构上有了很大改变,不再基于System.Web.dll,而是基于一系列有良好构建的NuGet包,这使得它成为一个更为精简的模块化框架。

       ASP.NET Core特点:

              ①.内置依赖注入。

              ②.新型的、轻量级的、模块化HTTP请求管道。

              ③.运行于IIS或者self-host于你自己的进程。

              ④.完全以NuGet包的形式发布。

              ⑤.可以在Windows、Mac和Linux上构建和运行。

              ⑥.开源并且重视社区。

     1. 最基本的ASP.NET Core应用

       最基本的ASP.NET Core应用就是在Main方法里创建一个Web服务器,既然.NET Core 2.0正式版已经发布,那么我这里就 展示一个2.0版本的示例代码。

       打开VS2017=>新建项目=>.NET Core=>ASP.NET Core Web应用程序=>空


新建项目


新建模板


       1.Program

       打开Program.cs文件,可以看到以下代码:

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

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
    }

       里面有一个Main方法和一个BuildWebHost,了BuildWebHost方法用于创建Web应用程序宿主。WebHost.CreateDefaultBuilder()方法创建一个默认的WebHostBuilder,这个builder具有用于定义Web服务器和startuo类的方法。

       上面代码只调用 一个指定startup类的方法,但其实CreateDefaultBuilder()方法帮助我们定义了很多配置,比如UseKestrel()使用自带的Kestrel服务器、UseContentRoot()指定由WebHost使用的内容根目录、UserIISIntegration()使IIS或IIS Express可以作为应用的反向代理服务器以及添加配置管理日志等中间件。

       Build()方法构建了用于宿主应用程序的IWebHost,Run()方法启动IWebHost来监听传入的HTTP请求。


       2.Startup

       WebHostBuilder的UseStartup方法为应用指定了Startup类。Startup类可以用来定义请求处理管道和配置应用需要的服务。     

       打开Startup.cs文件,可以看到以下代码:

    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!");
            });
        }
    }

       Startup类必须是Public,且必须包含上面两个方法。

       ConfigureServices方法用于定义应用所使用的服务。

       Configure方法用于定义请求管道中的中间件。


       3.wwwroot

       wwwroot是默认的Web根目录,用于存放类似于CSS、JS和图片文件的公开、静态的资源的目录。在Configure方法中使用静态文件中间件后,就可以读取wwwroot中的文件。Web根目录也可以通过WebHostBuilder来指定另外一个地址。


       4.程序执行顺序       

       启动程序,首先进入Main方法,其次进入ConfigureServices方法添加服务,最后进入Configure方法处理应用程序请求。


      结语:一个最基本的ASP.NET Core应用程序大概就是这个样子。本文只做了ASP.NET Core的基本介绍,后续将会对上面提到的服务、中间件、Web服务器、配置、环境等做简单的介绍。
    
出自:不落阁

    地址:http://www.lyblogs.cn/article/detail/ly08252045102818

    转载请注明出处!


来说两句吧
最新评论
  • 有毒的地狱野猪肉
    有毒的地狱野猪肉 2018-01-07 20:58:08
    哈哈哈
  • mr chen
    mr chen 2017-11-24 16:30:51
    666
  • 。;。;;。ญ๊๊๊ ✨
    。;。;;。ญ๊๊๊ ✨ 2017-11-29 15:23:48
    999
  • 滥好人
    滥好人 2017-12-11 10:59:30
    可以
  • éternel
    éternel 2017-12-13 11:17:40
    666