在曾经的 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站点就是这么简单清晰。

最新文章

  1. python学习笔记(列表、元组、购物车实例)
  2. C#线程并发执行的实例[转]
  3. WIN API 擦除所绘图像
  4. linux笔记:软件包管理-软件包简介
  5. windows下把Apache加入系统服务
  6. iOS: 神奇的addSubView
  7. CentOS7 PostgreSQL 主从配置( 一)
  8. node.js零基础详细教程(4):node.js事件机制、node异步IO操作
  9. [Windows]卸载Office 2016密钥
  10. awrrpt.sqll生成awr报ORA-06502,ORA-06512
  11. IIS下https配置及安全整改
  12. php简单使用shmop函数创建共享内存减少服务器负载
  13. 【ML】人脸识别
  14. 前端 HTML body标签相关内容 常用标签 图片标签 &lt;img/&gt;
  15. bzoj 3059: 归途与征程
  16. 爬虫开发12.selenium在scrapy中的应用
  17. PHP 无限级分类树
  18. 切面保存web访问记录
  19. 【set】【链表】hdu6058 Kanade&#39;s sum
  20. Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

热门文章

  1. Windows程序设计(第五版)学习:第四章 文本输出
  2. (转)jQuery中的extend()方法
  3. VS2010 &quot;error MSB8011” 解决方法
  4. Explode TArray
  5. 企业好助手U-Mail邮件服务器软件
  6. (转) Lua使用心得一 LUA和VC整合
  7. Android开发涉及有点概念&amp;相关知识点(待写)
  8. C# 使用js正则表达式,让文本框只能输入数字和字母,最大长度5位
  9. Pojo类(plain ordinary java object)
  10. Swift +AFNetworking3.0 Get