我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ASP.NETCore基础之启动设置

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ASP.NETCore基础之启动设置

这一章,我们了解一下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 属性的值可以是以下任何一个:

  • IISExpress
  • IIS
  • Project

launchSettings.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服务器处理。

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

到此这篇关于ASP.NET Core基础之启动设置的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ASP.NETCore基础之启动设置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

android基础教程之开机启动示例

Manifest.xml文件: 代码如下:
2022-06-06

Linux网络设置之基础操作命令详解

目录查看网络配置查看网络接口信息---ifconfig查看路由表---route查看网络连接情况---netstat获取 socket 统计信息---ss测试网络连接测试网络连通性------ping测试DNS域名解析------nsloo
2022-06-04

Android开发基础之创建启动界面Splash Screen的方法

本文实例讲述了Android开发基础之创建启动界面Splash Screen的方法。分享给大家供大家参考。具体如下: 启动界面Splash Screen在应用程序是很常用的,往往在启动界面中显示产品Logo、公司Logo或者开发者信息,如果
2022-06-06

Linux基础之关机和重启命令

  学习Linux关机和重启命令是每一个编程者们的必经历程。学习过Linux关机和重启的朋友都知道Linux中常用的关机和重新启动命令有shutdown、halt、reboot以及init四种,虽然它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的。在本文中编程学习网笔者就为大家简单介绍四种命令的含义和
Linux基础之关机和重启命令
2024-04-17

Linux服务器---基础设置

Centos分辨率 virtualbox里新安装的Centos 7 的分辨率默认的应该是800*600。 如果是‘最小化安装’的Centos7 进入的就是命令模式 。如果安装的是带有GUI的Centos7 可在桌面模式下 Ctrl
2023-06-06

win10usb启动怎么设置

今天小编给大家分享一下win10usb启动怎么设置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win10usb启动设置方法
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录