当前位置: 代码网 > it编程>编程语言>Asp.net > ASP.NET Core基础之Main方法讲解

ASP.NET Core基础之Main方法讲解

2024年05月19日 Asp.net 我要评论
为什么asp.net core采用main方法?需要记住的最重要的一点是,asp.net core web 应用程序最初作为控制台应用程序启动,main() 方法是应用程序的入口点。因此,当我们执行a

为什么asp.net core采用main方法?

需要记住的最重要的一点是,asp.net core web 应用程序最初作为控制台应用程序启动,main() 方法是应用程序的入口点。因此,当我们执行asp.net core web应用程序时,首先它寻找 main() 方法,这是执行开始的方法。然后,main()方法将asp.net配置并启动它。此时,应用程序将成为asp.net core web应用程序。

如果进一步查看 main() 方法的正文,则会发现它通过将命令行参数 args 作为参数传递来调用 createhostbuilder() 方法,如下所示。

        public static void main(string[] args)
        {
            createhostbuilder(args).build().run();
        }

如下所示,createhostbuilder() 方法返回实现 ihostbuilder 接口的对象。主机是一个静态类,可用于创建具有预配置默认值的 ihostbuilder 实例。

createdefaultbuilder() 方法使用预配置的默认值创建主机构建器的新实例。在内部,它配置 kestrel(用于asp.net的内部 web 服务器)、iis整合和其他配置。

            public static ihostbuilder createhostbuilder(string[] args) =>
            host.createdefaultbuilder(args)
                .configurewebhostdefaults(webbuilder =>
                {
                    webbuilder.usestartup<startup>();
                });

在 main()方法中,在此 ihostbuilder 对象上,调用 build() 方法,该方法实际生成 web 主机。

然后,它将我们asp.net web 主机中托管我们的asp.net core web 应用程序。

最后,在 web 主机上,它称为 run() 方法,该方法将实际运行 web 应用程序,并开始侦听传入的 http 请求。

启动类(startup)

在设置主机时,还使用 ihostbuilder 类的 usestartup() 扩展方法配置启动类。启动类有两种方法,如下所示。

public class startup
    {
        // this method gets called by the runtime. use this method to add services to the container.
        // for more information on how to configure your application, visit https://go.microsoft.com/fwlink/?linkid=398940
        public void configureservices(iservicecollection services)
        {
        }

        // this method gets called by the runtime. use this method to configure the http request pipeline.
        public void configure(iapplicationbuilder app, iwebhostenvironment env)
        {
            if (env.isdevelopment())
            {
                app.usedeveloperexceptionpage();
            }

            app.userouting();

            app.useendpoints(endpoints =>
            {
                endpoints.mapget("/", async context =>
                {
                    await context.response.writeasync("hello world!");
                });
            });
        }
    }

configureservices() 方法配置应用程序所需的服务。startup 类的configure() 方法设置应用程序的请求处理管道。

createdefaultbuilder() 方法执行的任务是什么?

作为设置 web 主机的一部分,createdefaultbuilder() 方法执行几项操作。其中一些如下:

  • 设置 web 服务器
  • 从各种配置源加载主机和应用程序配置
  • 配置日志记录

 在, 我们将讨论createdefaultbuilder() 方法究竟对配置和设置 web 服务器的作用以及应用程序的托管模型。

到此这篇关于asp.net core基础之main方法讲解的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持代码网。

(0)

相关文章:

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

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com