资讯专栏INFORMATION COLUMN

ASP.NET Core 之 Main 函数

waterc / 1143人阅读

摘要:之前,做传统的开发的时候很多人都不知道的程序入口在哪儿,因为找不到传说当中的函数。让应用程序支持在里边运行其实是把当一个反向代理来用,如果应用程序不在里边跑,可以把这行删掉。指定应用程序的启动类,是应用程序启动过程中一个非常非常重要的类。

之前,做传统的 ASP.NE 开发的时候很多人都不知道 Asp.Net 的程序入口在哪儿, 因为找不到传说当中的 Main 函数。但是在 ASP.NET Core 中,Main 函数被暴漏出来了, 它默认被放在Program.cs里边,长这个样子:

  public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup()
                .UseApplicationInsights()
                .Build();

            host.Run();
        }
    }

.UseKestrel() 使用 Kestrel 做为 web应用程序的 HTTP 服务器,其实 ASP.NET Core 自带了两个不同的 HTTP 服务器:

Microsoft.AspNetCore.Server.Kestrel (支持跨平台)

Microsoft.AspNetCore.Server.WebListener (仅 Windows 可用)

.UseContentRoot(Directory.GetCurrentDirectory()) 设置应用程序的根目录,该目录存放的是应用自身内部所需的资源(需要注意和 WebRootPath 的区别,WebRootPath指向的目录用于存放可以通过HTTP请求访问的资源,一般是 wwwroot 文件夹)。

.UseIISIntegration() 让应用程序支持在IIS 里边运行(其实是把IIS 当一个反向代理来用),如果应用程序不在IIS 里边跑,可以把这行删掉。

.UseStartup() 指定应用程序的启动类, Startup 是 ASP.NET Core应用程序启动过程中一个非常、非常重要的类。ASP.NET Core 没有强制对这个类进行类型约束,但是对这个类有一个约定,必须有下边两个方法:

ConfigureServices(IServiceCollection services)

Configure(IApplicationBuilder app);

.UseApplicationInsights() 使用 Application Insights ,个人感觉不上微软的云 这个选项用处不大,可以去掉。

.Build(); 开始构造 WebHost, 事实上这个构造是一个很复杂的过程,后续再仔细研究。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110479.html

相关文章

  • 用以太坊区块链保证Asp.Net Core的API安全(下)

    摘要:上一篇用以太坊区块链保证的安全上我们介绍了基本的解决方案,这一篇我们重点来看客户端。是以太坊的实现。以太坊,主要是针对工程师使用进行区块链以太坊开发的详解。这里是原文以太坊区块链的安全设计 上一篇用以太坊区块链保证Asp.Net Core的API安全(上)我们介绍了基本的解决方案,这一篇我们重点来看客户端。 正如我们所说,我们的DApp是一个简单的HTML/ES6客户端。我们将在Asp...

    xuhong 评论0 收藏0
  • 【dotnet跨平台】最新版dotnet-cli下的ASP.NET Coreasp.net mvc

    摘要:是里面提供的,使用旧的。这个版本会使用,和等,而则不需要,只需要和,无论是对控制台程序还是程序。就是在的基础上从迁移到基于或者的跨平台产品。声明下,还没出来,这里使用的是正在开发的版本的最新版本。想试下最新版下的和,可以参考和。 RC1是http://get.asp.net里面提供的https://docs.asp.net/en/latest/getting-s...,使用旧的ASP...

    2bdenny 评论0 收藏0
  • [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置

    摘要:注本文给大家分享了一些关于怎么发布部署到服务器并配置实现反向代理还有很多问题并没有涉及到,比如服务器的安全路由表的配置,的高级配置等等,请在实际项目部署中查阅相关资料进行处理。本文同步发表至码友网怎么发布部署到服务器并配置实现反向代理 前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可...

    Riddler 评论0 收藏0
  • 如何解决 ASP.NET Core 中的依赖问题

    摘要:依赖注入允许我们修改具体实现,而不必改变依赖于它们的依赖类型。我们将介绍三种不同方法来解决中的依赖项。在窗口中,指定新项目的名称和位置。在接下来显示的窗口中,从顶部的下拉列表中选择作为目标框架。 依赖性注入是一种技术,它允许我们注入一个特定类的依赖对象,而不是直接创建这些实例。使用依赖注入的好处显而易见,它通过放松模块间的...

    vpants 评论0 收藏0
  • Pro ASP.NET Core MVC 2翻译计划:第一章

    摘要:原始的框架年月,微软发布了一个基于现有平台的新开发平台,旨在于直接回应对的批评和等竞争平台的普及。框架的发布标志着微软的态度发生了重大变化。此前,微软试图控制应用程序工具链中的每个组件。年,微软宣布了和框架的新方向,最终形成了本书的主题。 ASP.NET CORE MVC 2 介绍 对于Microsoft平台上的Web开发人员来说,使用ASP.NET Core MVC是一次彻底的转变。...

    chaosx110 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<