本文出自《从零开始学ASP.NET CORE MVC》
推荐文章:ASP.NET Core 中的 Main方法

ASP.NET Core 进程内(InProcess)托管

在这个视频中我们将讨论

  • 在ASP.NET Core中的进程内(InProcess)托管模型

  • 什么是Kestrel服务器

当一个 ASP.NET Core 应用程序执行的时候,.NET 运行时会去查找 Main()方法,因为它是这个应用程序的起点。

然后,Main()方法调用静态类WebHost中的静态方法CreateDefaultBuilder()
这个CreateDefaultBuilder()方法执行几个任务,如:

  • 将 Kestrel 用作 Web 服务器并启用 IIS 集成。

  • 从种配置源中加载配置。

  • 配置日志记录

在以后的课程中,我们将讨论 asp.net core 中可用的各种配置源,加载主机和应用程序配置信息以及配置日志记录等内容。

在本视频中,让我们了解CreateDefaultBuilder()方法用于配置和设置Web服务器的功能。
ASP.NET Core 应用程序可以托管在进程内(InProcess)或进程内(InProcess)中。
在本视频中,我们将讨论进程内(InProcess)托管,在下一个视频中,我们将讨论进程内(InProcess)托管。

进程内(InProcess)托管

NEW

若要配置 InProcess 宿主, 请将<AspNetCoreHostingModel>添加到应用的项目文件中, 其中的值为 InProcess

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

当我们选择使用一个可用的项目模板,创建一个新的ASP.NET Core项目时,该项目默认为所有的IIS和IIS Express的配置都是作为进程内托管(InProcess)。

在InProcess托管的情况下,CreateDefaultBuilder()方法调用UseIIS()方法并在IIS工作进程(w3wp.exe或iisexpress.exe)*内托管应用程序。

  • 从性能的角度来看,InProcess托管比OutOfProcess托管提供了更高的请求吞吐量。

  • 对于IIS,执行应用程序的进程名称是w3wp,对于IIS Express,它是iisexpress

  • 要获取执行应用程序的进程名称,请使用System.Diagnostics.Process.GetCurrentProcess().ProcessName

  • 当我们从Visual Studio运行项目时,它默认使用IISExpress。

  • IIS Express是IIS的轻量级自包含版本,针对应用程序开发进行了优化。我们不会将它用于生产。在生产中我们会使用IIS。

  • 我们会在后面的课程中带着大家,在IIS上部署ASP.NET Core 应用程序。

进程外(out-of-Process)托管

NEW

  • 有2个Web服务器 ,内部Web服务器和外部Web服务器。

  • 内部Web服务器是Kestrel, 外部Web服务器可以是IIS,Nginx或Apache。

  • 使用InProcess托管,只有一个Web服务器,承载asp.net Core应用程序的IIS。
    因此,在内部和外部Web服务器之间,他们的代理和请求不没有性能的损失。

什么是Kestrel

Kestrel是ASP.NET Core的跨平台Web服务器。.NET Core支持的所有平台和版本都支持它。它默认包含在ASP.NET Core中作为内部服务器。
Kestrel本身可以用作边缘服务器,即面向互联网的Web服务器,它可以直接处理来自客户端的传入HTTP请求。

在Kestrel中,用于托管应用程序的进程是dotnet.exe。当我们使用.NET Core CLI(命令行界面)运行.NET Core应用程序时,应用程序使用Kestrel作为Web服务器。

.NET Core CLI是一个用于开发.NET核心应用程序的跨平台工具。使用CLI命令我们做:

  • 根据指定的模板创建新项目,配置文件或解决方案

  • 恢复.Net Core 项目所需的所有依赖项和工具包

  • 生成项目及其所有依赖项

  • 运行.net Core项目等等......

我们可以使用.NET Core CLI做很多事情。

简单说下CLI

使用.NET Core CLI运行我们的Asp.Net Core应用程序。

  • 启动Windows命令提示符

  • 将目录更改为包含asp.net Core 项目的文件夹,然后执行dotnet run命令

  • C:\ Projects \Source\repos\ StudentManagement \ StudentManagement > dotnet run

在.NET Core CLI 生成并运行项目之后,它会显示用于访问应用程序的URL。
在我的例子中,应用程序可以通过访问浏览器地址在
http:// localhost:5000 查看内容。

于Kestrel,用于托管和执行应用程序的进程是dotnet.exe

因此,当我们导航到http:// localhost:5000时,我们将看到显示进程名称dotnet

下一个视频: ASP.NET Core中的进程外托管模型

硬广专区

如果您觉得我的文章质量还不错,欢迎打赏,也可以订阅我的视频哦

未得到授权不得擅自转载本文内容,52abp.com保留版权

文字版目录: https://www.52abp.com/Wiki/mvc/latest/1.Intro

代码托管地址:https://gitee.com/aiabpedu
知乎专栏:https://zhuanlan.zhihu.com/52abp

交流QQ群:952387474《微软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 进程内(InProcess)托管(6)《从零开始学ASP.NET CORE MVC》:相关推荐

  1. ASP.NET Core launchsettings.json文件(8)《从零开始学ASP.NET CORE MVC》:

    本文出自<从零开始学ASP.NET CORE MVC> 推荐文章:ASP.NET Core 进程外(out-of-process)托管 ASP.NET Core launchsetting ...

  2. ASP.NET Core appsettings.json文件(9)《从零开始学ASP.NET CORE MVC》:

    本文出自<从零开始学ASP.NET CORE MVC> 推荐文章:ASP.NET Core launchsettings.json文件 ASP.NET Core appsettings.j ...

  3. ASP.NET Core 进程外(out-of-process)托管(7)《从零开始学ASP.NET CORE MVC》

    本文出自<从零开始学ASP.NET CORE MVC> 推荐文章:ASP.NET Core 进程内(InProcess)托管 ASP.NET Core 进程内(InProcess)托管 我 ...

  4. 《从零开始学ASP.NET CORE MVC》课程介绍

    大家好,欢迎来到52ABP学院,收看我们的 <从零开始学ASP.NET CORE MVC>. ASP.NET Core 简介 从2015年开始随时互联网成长,云计算和AI.大数据的爆发,大 ...

  5. 《从零开始学ASP.NET CORE MVC》:ASP.NET Core 中的 Main方法(5)

    本文出自<从零开始学ASP.NET CORE MVC> 推荐文章:ASP.NET Core Web 项目文件 ASP.NET Core 中的 Main方法 一个开始专心写字的人 在ASP. ...

  6. 从零开始学ASP.NET(基础篇)

    原作者:蓝鲸 出处:5D多媒体 学ASPNET与ASP有区别,这种区别不是语言上的,而是思路上的区别.ASP是纯面向过程的,而ASPNET是完全面向对向的.这种区别使我们在编程的结构设计上要与ASP有 ...

  7. 从零开始学ASP.NET

    2010年,微软推出了Visual Studio 2010开发工具,增强了ASP.NET网络应用方面的技术,提供了ASP.NET 4.0版本,为开发人员带来很多便捷.本书基于最新的ASP.NET版本, ...

  8. 《从零开始学ASP.NET CORE MVC》:VS2019创建ASP.NET Core Web程序(三)

    创建ASP.NET Core Web应用程序 如果您使用的是VS2017请看 VS2017创建ASP.NET Core Web程序(三) 在这个视频中我们将讨论 可用的不同项目模板及其功能 预制的项目 ...

  9. 不好意思,这么久没有更新《从零开始掌握ASP.NET Core 》

    点击上方蓝字,关注「我们」 等了快个月了,终于开始更新了. 因为感冒,弄的嗓子有点沙哑.所以停了半个月才是更新,目前一口气更新了12个章节,大家可以耐心观看内容了. <从零开始学ASP.NET ...

最新文章

  1. 2021年CISCN初赛re
  2. Android--WebView
  3. IIS集成模式和经典模式 系统部署的不同
  4. Kubernetes 部署 Traefik Ingress 控制器 (1.7.12)
  5. Manasa and Combinatorics
  6. Extjs可视化设计视频教程二
  7. 从项目实际问题引发的思考
  8. Qt 发布 Android 自动驾驶技术预览
  9. 拿到参考资料的预训练模型,太可怕了!
  10. M文件---脚本与函数
  11. HYSPLIT简明教程
  12. 2A锂电池充电管理芯片,具有恒压/恒流充电模式的充电管理 IC
  13. 历史上有哪些最凶计算机病毒?
  14. log4j日志配置(超详细)
  15. traceroute 详解及结果出现*的分析
  16. 腾讯云游戏多媒体解决方案
  17. 将视频文件旋转90°的方法
  18. 计算机设备2后符号,表情符号含义展示的方法及设备与流程
  19. 达梦数据库启动失败ARCH_DEST[/dmarch] will be out of space.
  20. python创建一个空元组_如何在Python中从空元组创建元组?

热门文章

  1. 超链接禁用_在Microsoft Word 2003和2007中禁用自动超链接
  2. twitter批量取消关注_如何在Twitter上取消阻止“潜在敏感内容”
  3. ipad和iphone切图_如何在iPhone和iPad上的Messages App中固定对话
  4. java读取excel某个单元格的值_java poi怎么获取excel单元格的内容
  5. CSS浮动属性Float到底什么怎么回事,下面详细解释一下
  6. app接口开发(php)
  7. 异常检测之浅谈入侵检测
  8. 使用springfox 集成swagger 与spring mvc
  9. html页面音乐播放器_Embed代码
  10. 【转】java io 总结(图)