我有一个API网站.这是我的launchSettings.json美元.

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:40682",
      "sslPort": 44360
    }
  },
  "profiles": {
    "TTRailtrax": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:7184;http://localhost:5184",
      "dotnetRunMessages": true
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

当我运行这个项目时,使用的URL是https://localhost:44360.

但当我在另一台计算机上签出代码并运行该项目时,URL是https://localhost:7184.

I所有计算机上的URL都相同,因为此API是从解决方案中的另一个网站调用的.

我可以看到第二个URL来自TTRailtrax配置文件,但我真的不明白这些配置文件是什么,或者为什么不同的计算机似乎 Select 了不同的配置文件.我已确认launchSettings.json已签入源代码管理,并且在两台计算机上是相同的.

Update

以下是我到目前为止所了解到的情况.默认情况下会创建这两个配置文件.其中一个(TTRailtrax)将使用Kestral服务器.另一个(IIS Express)将使用IIS Express.我不确定为什么有两台服务器,或者在它们之间进行 Select 时的考虑因素是什么.

Microsoft's documentation显示一个下拉列表,您可以在其中 Select 正在使用的配置文件.我在系统上的任何地方都找不到它(Visual Studio 2022).

如果我进入项目的设置并打开调试启动配置文件UI,我可以编辑App URL字段.但是,App SSL URL字段被禁用.(我使用的是SSL.)

我没有弄清楚为什么我的一台计算机 Select 了一个配置文件,而另一台计算机 Select 了另一个配置文件.

推荐答案

IIS Express配置文件面向计划在IIS上托管其应用程序并希望尽可能在本地模拟该环境的开发人员.Kestrel配置文件是为那些不想要IIS Express配置文件的人准备的--例如,因为他们不打算使用IIS托管,或者因为他们想要更快的调试体验.

VS会记住你最后一次使用哪个配置文件来启动应用程序,所以一台机器上的版本使用Kestrel配置文件的事实表明,你一定是在之前的某个阶段 Select 了那个配置文件.也许这个 Select 不是你刻意做出的 Select .

该下拉菜单包含在Run按钮中.您有两个绿色箭头,一个是实心的,另一个是轮廓的.所选启动配置文件的名称显示在绿色实心箭头旁边.

Csharp相关问答推荐

如何使嵌套for-loop更高效?

错误NU 1301:无法加载源的服务索引

无法解析数据库上下文的服务

Thad.Sept()vs Task.Delay().Wait()

为什么EventInfo.EventHandlerType返回可为空的Type值?

共享暂存/生产环境中Azure事件中心的建议配置

.NET 8 DI GetServices<;对象&>不工作

当试图限制EF Select 的列时,如何避免重复代码?

HelperText属性不支持复杂内容(混合C#和标记)

当try 测试具有协变返回类型的抽象属性时,类似功能引发System.ArgumentException

如何在C#中从MongoDB IPipelineStageDefinition中获取聚合命令的字段/选项?

工厂类是如何在.NET 8中注册的?

如何从原始图像到新创建的图像获得相同的特定 colored颜色 ,并且具有相同的 colored颜色 量和相同的宽度和高度?

使DefaultIfEmpty返回空

使用免费的DotNet库从Azure函数向Azure文件共享上的现有Excel文件追加行

最小API定义的Swagger标头参数

如何对正方形格线进行对角分组

S,在.NET核心控制台应用程序中,AddScope和AddSingleton有什么不同?

缩写的MonthNames有问题

LINQ在GROUP BY和JOIN之后获取子列表