美文网首页角落的白板报微软MVP带你...
《从零开始学ASP.NET CORE MVC》:ASP.NET

《从零开始学ASP.NET CORE MVC》:ASP.NET

作者: 角落的白板笔 | 来源:发表于2019-04-06 11:05 被阅读2次

    本文出自《从零开始学ASP.NET CORE MVC》
    推荐文章:ASP.NET Core Web 项目文件

    ASP.NET Core 中的 Main方法

    在ASP.NET Core项目中,我们有一个名为Program.cs的文件。在这个文件中,我们有一个public static void Main()方法 。

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }
    
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
    }
    

    如果您对传统的.NET Framework有任何使用经验,则知道控制台应用程序具有Main()方法,它是该控制台程序的入口。

    但今天,我们正在创建一个ASP.NET Core Web应用程序而不是控制台应用程序。因此,我们想到的一个显而易见的问题是。
    为什么我们也会有一个Main()方法?

    所以这个知识点,要记住的。ASP.NET Core 应用程序最初作为控制台应用程序启动,而Program.cs文件中的Main()方法就是入口。

    因此,当运行时执行我们的应用程序时,它会查找此Main()方法以及执行配置开始的地方。

    这个Main()方法配置asp.net Core 并启动它,此时,它成为一个asp.net Core Web应用程序。因此,如果你跟踪一下Main()方法,它会调用CreateWebHostBuilder()方法传递命令行参数。

    然后你就可以看到,CreateWebHostBuilder()方法返回一个实现IWebHostBuilder的对象。
    在此对象上,调用Build()方法,会将我们的ASP.NET Core 应用程序生成并且托管到服务器上。
    在服务器上的程序调用Run() 方法,该方法运行后Web应用程序并开始侦听传入的HTTP请求。
    CreateWebHostBuilder()方法调用静态类WebHost中的静态方法CreateDefaultBuilder()
    CreateDefaultBuilder()方法会在服务器上创建一个已经预设置好的默认值。
    CreateDefaultBuilder()方法执行多项操作来创建服务器.

    我们在后面的视频中详细讨论CreateDefaultBuilder()中的所有方法。

    而现在你只需要了解CreateDefaultBuilder()方法是用于在服务器上创建程序配置的默认值而存在
    它作为设置服务器的一部分,还使用了IWebHostBuilder接口中的UseStartup()的扩展方法来配置Startup类。
    如果您不熟悉扩展方法的概念, 那么你该去补课了。

    按照微软的规则,ASP.NET Core中的启动类名为Startup。 这个类有2种方法。

    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类虽然只有两个方法,但是这两个方法做了非常重要的事情:

    • ConfigureServices()方法配置应用程序所需的服务
    • Configure()方法配置应用程序的请求处理管道

    我们理解这两种方法的作用是非常重要。

    在后面的课程中,我们会大量使用这两种方法。到时候需要大家多次加深印象。

    硬广专区

    如果您觉得我的文章质量还不错,欢迎打赏,也可以订阅我的视频哦
    未得到授权不得擅自转载本文内容,52abp.com保留版权
    文字版目录: https://www.52abp.com/Wiki/mvc/latest/1.Intro
    微信公众号:角落的白板报
    交流QQ群:952387474 点击链接加入QQ群《微软MVP带你学ASP.NET CORE》
    【收费】腾讯课堂:https://ke.qq.com/course/392589?tuin=2522cdf3
    【免费】youtube视频专区:http://t.cn/Ei0F2EB
    【免费】B站: https://space.bilibili.com/2954671
    免费的更新慢,收费的更新快,仅此而已。就这样。

    关注微信公众号:角落的白板报

    公众号:角落的白板报

    相关文章

      网友评论

        本文标题:《从零开始学ASP.NET CORE MVC》:ASP.NET

        本文链接:https://www.haomeiwen.com/subject/umxfiqtx.html