zoukankan      html  css  js  c++  java
  • dotnet run是如何启动asp.net core站点的

    在曾经的 asp.net 5 过渡时期,运行 asp.net 5 站点的命令是dnx web;在如今即将到来的 asp.net core 时代,运行 asp.net core 站点的命令是dotnet run(启动控制台程序也是同样的命令)。

    在使用dnx web时,需要在project.json中配置对应的web command:

    "commands": {
        "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5004"
    }
    

    而使用dotnet run启动asp.net core站点,不需要在project.json中进行额外的配置,但需要增加program.cs文件,并且添加相应的代码,比如以下的代码(来自cli-samples):

    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                        .UseServer("Microsoft.AspNetCore.Server.Kestrel")
                        .UseApplicationBasePath(Directory.GetCurrentDirectory())
                        .UseDefaultConfiguration(args)
                        .UseIISPlatformHandlerUrl()
                        .UseStartup<Startup>()
                        .Build();
    
            host.Run();
        }
    }
    

    上面的代码让dotnet run启动 asp.net core 站点的秘密一览无余。

    Web应用程序程序与控制台应用程序使用同样的入口,实现了启动方式的统一,变得更简单。

    Web站点的启动工作是由WebHostBuilder(源码)起头的,但它只是准备一些启动参数,最终把启动工作交给了真正的主角—WebHost(源码)。

    dotnet run只负责加载.NET Core运行环境与调用应用程序的入口,web站点的启动完全由Microsoft.AspNetCore.Hosting负责。dotnet run启动asp.net core站点就是这么简单清晰。

  • 相关阅读:
    rem适配布局---5. 方案1:苏宁首页制作1
    rem适配布局---4. rem适配方案
    rem适配布局---3. less
    rem适配布局---2. 媒体查询
    rem适配布局---1. 基础
    flex布局---9.携程网案例
    java基础---3. 数据类型转换、运算符
    flex布局---8.flex布局原理
    java基础---2. 常量&变量
    工会项目结题,游泳锻炼
  • 原文地址:https://www.cnblogs.com/dudu/p/5224916.html
Copyright © 2011-2022 走看看