【问题标题】:How to fix ASP.Net Core 404 error on IIS?如何修复 IIS 上的 ASP.Net Core 404 错误?
【发布时间】:2020-07-04 03:03:01
【问题描述】:

我已经使用 git 处理 .net 核心项目数周了,两周前我在解决方案 (xunit) 中添加了一个测试项目,但出于某些原因(我不知道测试项目是否与解决我的问题的任何方法)当我使用 ISS 运行 api 时,我在 chrome 上(由 ISS 和 VS 使用 url 自动打开)和 postman 上找不到(不是 .net 错误,google 的错误,请参见下面的屏幕截图)。 ..该项目一直有效,但不再有效。我拉了旧的分支,我 100% 确定它们以前工作过。

我知道这不是很多信息,但我真的不知道从什么开始,所以请向我询问任何其他信息。

我在运行解决方案时也在输出中注意到了这一点:

  1. Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware:警告:无法确定重定向的 https 端口。
  2. Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求在 30.0135 毫秒内完成 200
  3. Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求在 210.0354 毫秒 404 内完成

我试过了:

  • 在本地删除解决方案,再次 git pull
  • 查看我 100% 确定以前工作过的本地旧分支
  • 关闭VS/再次打开
  • dotnet dev-certs https --trust

屏幕截图错误意味着没有找到该网址的网页:http://localhost:59490 我很确定我的项目以前使用 https,但现在 iis 给我的 url 正在使用 http ...

这是我的launchSettings.json

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:59490/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "MyProject": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "http://localhost:59492/"
    }
  }
}

【问题讨论】:

  • 你能显示你的launchSettings.json吗?它应该在您的解决方案的属性中。
  • 刚刚编辑了我的问题@PatrickMcvay
  • 对不起,我不得不把它作为答案,因为 URL 在 cmets 中有错误

标签: c# .net asp.net-core http-status-code-404


【解决方案1】:

launchSettings.json 文件似乎已出错并且不再正确。使用与其他项目完全相同的设置创建一个新项目,并将该 launchSettings.json 复制到您的项目中。您需要将应用程序名称更改为您的项目名称。

【讨论】:

  • 在 iisSettings = 44388 中使用 sslPort 这仍然让我找不到,但我得到了 sslPort = 0 的其他内容,我得到 localhost 不允许连接 ERR_CONNECTION_REFUSED
  • 如果您在 IIS Express 仍在运行时进行了更改,则必须手动退出 IIS Express 并重新启动它,并且端口 0 不是主机之间通信的有效端口,因此会出错。
  • 好的,谢谢,刚改回44388,还是一样的问题:D
  • 那么,launchUrl 为“https:// localhost:44388/”,sslPort 为 44388,您仍然得到未找到的结果?
  • 是的,不幸的是......我已经把你的回答者里面的内容准确地放入了,但仍然得到 404 错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 2016-07-27
  • 2017-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多