科百科
当前位置: 首页 范文大全

asp.netcore 程序结构(ASP.NETCore基础系列)

时间:2023-08-02 作者: 小编 阅读量: 3 栏目名: 范文大全

Kestrel是唯一将托管应用程序并处理传入请求的服务器。外部Web服务器将接收传入的HTTP请求,然后将请求转发到内部Web服务器,即将处理请求的Kestrel。由于我们已经将启动配置文件设置为IISExpress,我们只需要将AspNetCoreHostingModel元素值更改为应用程序的项目文件中的OutOfProcess,如下所示。

这一章,我们了解一下launchSettings.json的作用。

打开launchSettings.json 文件后,默认情况下,您将找到以下代码。

{"iisSettings": {"windowsAuthentication": false,"anonymousAuthentication": true,"iisExpress": {"applicationUrl": "http://localhost:1118","sslPort": 0}},"profiles": {"IIS Express": {"commandName": "IISExpress","launchBrowser": true,"environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}},"WebApplication4": {"commandName": "Project","dotnetRunMessages": "true","launchBrowser": true,"applicationUrl": "http://localhost:5000","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}}}}

在这里,您可以看到,我们有两个部分。 一种用于IIS Express(IIS服务器),另一种用于Kestrel服务器。在Visual Studio中,您可以找到上述两个配置文件(IIS Express和WebApplication4),如下所示。

如果选择 IIS Express,则它将使用 IIS 服务器,如果您选择 WebApplication4 应用程序,则它将使用 Kestrel 服务器。launchSettings.json文件的 commandName 属性的值可以是以下任何一个:

  1. IISExpress
  2. IIS
  3. ProjectlaunchSettings.json文件的commandName属性值以及应用程序项目文件中的AspNetCoreHostingModel元素值将确定将要使用和处理传入HTTP请求的内部和外部Web服务器(反向代理服务器)。 为了更好地理解,请看下图。
如何验证其工作模式?方法1:

当我们在launchSettings.json文件中将CommandName用作Project时,ASP.NET Core将忽略AspNetCoreHostingModel值。 Kestrel是唯一将托管应用程序并处理传入请求的服务器。 让我们证明这一点。 现在,我们需要将启动Profile设置为WebApplication4,如下所示。

如果查看launchSettings.json文件,那么您将看到WebApplication4配置文件使用"commandName":"Project"值,并且请注意下面所示的应用程序URL。在我的应用程序中,URL为http://localhost:5000,端口号在您的示例中可能有所不同。

"WebApplication4": {"commandName": "Project","dotnetRunMessages": "true","launchBrowser": true,"applicationUrl": "http://localhost:5000","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}}

现在,将应用程序项目文件中的AspNetCoreHostingModel元素值更改为InProcess,如下所示。

<Project Sdk="Microsoft.NET.Sdk.Web"><PropertyGroup><TargetFramework>net5.0</TargetFramework><AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel></PropertyGroup></Project>

然后, 启动该项目, 可以看到首先启动了CMD,在这种情况下将使用kestrel服务器托管应用程序。注: 因为当CommandName值为Project时,它将忽略AspNetCoreHostingModel值,而Kestrel是唯一将托管和处理传入请求的服务器。

方法2:

如果我们使用命令名作为 IISExpress 配置文件,如果我们将 AspNetCoreHostingModel 值设置为 OutOfProcess,则ASP.NET Core使用IIS Express作为外部 Web 服务器,Kestrel 是内部 Web 服务器。外部 Web 服务器(即 IIS Express)将接收传入的 HTTP 请求,然后将请求转发到内部 Web 服务器,即将处理请求的 Kestrel。让我们证明这一点。由于我们已经将启动配置文件设置为 IIS Express,我们只需要将 AspNetCoreHostingModel 元素值更改为应用程序的项目文件中的 OutOfProcess,如下所示。

<Project Sdk="Microsoft.NET.Sdk.Web"><PropertyGroup><TargetFramework>net5.0</TargetFramework><AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel></PropertyGroup></Project>

运行应用程序,浏览器输出了项目名称, 如下所示, 因为请求由Kestrel Web Server服务器处理。

注: 通过运行时,输出当前进程名称即可。

    推荐阅读
  • 怎么拼图(如何在手机里用美图秀秀拼图)

    接下来我们就一起去研究一下吧!怎么拼图美图秀秀想要拼图好看就必须掌握以下几种技术。美图秀秀拼图有四种,自由拼图,模板拼图,海报拼图,图片拼接。自由拼接可打开图片,自定义图片位置大小,也可自定义底部图片。模板拼图可以在右侧选择模板,几张照片就选择几个框框的模板,要自己调整照片显示位置。图片拼接最为简单,就是照片接起来,可以横接,可以竖接。拖动图片更换照片顺序。

  • 王者荣耀下载之后安装不了为什么(下载王者荣耀之后为什么安装不了)

    接下来我们就一起去了解一下吧!王者荣耀下载之后安装不了为什么首先检查“未知来源”设置是否开启,设定-安全-未知来源-打钩。可能是安装包不完整,需要重新下载一个。安卓系统手机支持的软件格式为APK格式。下载软件时请阅读软件详情,查看是否对手机操作系统等有所要求。

  • 外资办理edi许可证流程(2022年外资EDI证办理流程及要求)

    特别需要注意的是,办理EDI证是需要进行股权追溯的,所有股东均需要往上追溯至国有出资或者自然人为止。也就是说即便是直接股东没有外资,往上追溯间接股东有外资,也是需要走外资审批申报流程来办理EDI证的。

  • 一束花朵立体(100朵玫瑰vol.19苹果杰克)

    第19朵玫瑰:苹果杰克,用苹果雕刻的玫瑰花。苹果杰克最特别之处,就是她和苹果一样,花型远远的看像是苹果,花瓣上有可爱的腮红边。苹果杰克不是太好看,据说是红边边多的要好开一点哦。不过苹果杰克的花期不是太长,差不多4-6天。photoby小红书@CClins苹果杰克的运用范围也是非常的广泛,日常家居瓶插是非常出彩的,也可以运用到花礼中,也是一个不错的选择。

  • thermite职业推荐(冰火两重天是这种职业的日常)

    在高温下,有一群低温劳动者,他们身上的短袖和棉大衣随时轮换,一天之内即可感受四季。酷暑时节,有一群人裹着军大衣、戴着防寒帽,每天工作在零下18摄氏度的寒气中,感受着近60摄氏度的温差,体验从夏到冬的“乐趣”,他们就是冰库师傅。

  • 儿童座椅安装方法(儿童座椅安全带正向安装方法)

    儿童座椅安装方法将儿童安全座椅放倒,放倒后能够看清楚安全座椅背后,然后把安全带抽出来,尽可能拉长;然后把安全带由外到内的从安全座椅背部穿过,这里是需要注意的是控制好安全带,避免安全带卡死,否则就要重新操作了;把安全带与汽车座椅的接口接上,在安全带穿过儿童安全座椅后,需要把安全座椅的固定夹对安全带进行固定;通过固定夹将安全带固定好之后,用手左右进行摇摆下,减少固定夹与安全带直接的虚位,加固安全性。

  • 黑暗料理王全体装备(黑暗料理王评测)

    《黑暗料理王》是椰岛游戏发布的一款手游,游戏类型为模拟经营。玩家在游戏中拯救了一群小黑人,作为报答,小黑人帮助玩家通过黑暗料理的制作与销售成为黑暗料理王,制作黑暗料理的食材就来自多个神秘地区的怪兽。总体来说,在游戏内容上,《黑暗料理王》的内容设计具备新颖性、完整性和可持续性,但设计难度一般,相较于玩家提供了娱乐性和简单的探索性。

  • 早餐吃面条好还是吃粥好(早餐吃什么好)

    接下来我们就一起去了解一下吧!早餐吃面条好还是吃粥好面和粥都有养胃的效果,可以根据个人喜好进行选择,也可以轮流食用增加食欲。但是吃面条和吃粥都需要注意,不能吃过得过饱。如果携入太多的食物,会加重胃的负担,使胃部的血液速度变慢,影响消化。对于有胃病的人来说,都建议少食多餐。

  • 什么样的人不能吃海参(哪些人不适合吹海参)

    有一些类风湿的病人是不应该多吃的,类风湿的病人经常吃还容易加重病情的,海参属于一种发物,如果长期吃海参的话容易让关节炎发作。这样的病人千万不要长期吃海参的,因为这样的病人长期吃会造成尿酸过多引起一系列的身体疾病问题。肾脏功能不好的人,海参是一种高蛋白的海鲜事物,如果不小心食用过量会增加肾脏的负担,给机体消化也造成一定的负担。

  • sci期刊各区影响因子是多少(关于SCI期刊影响因子)

    比如下面的《南大西洋季刊》,其SSCI的影响因子才1.718,但由于其在自己学科内超高位置,它的JCI高达11.51分。同理还有IEEECommunicationsSurveysandTutorials这本期刊,虽然其影响因子只有Science的一半多一点,但是二者的JCI却基本没有差距,可以推断出IEEECommunicationsSurveysandTutorials这本期刊在业界的超高位置。小编明天也会详细的解析国产期刊在四大数据库中的收录情况,敬请关注!同理,有很多ESCI也是很有潜力的。。