【问题标题】:Web app not responding on localhost:5000 when run standalone独立运行时,Web 应用程序在 localhost:5000 上没有响应
【发布时间】:2017-05-03 23:08:46
【问题描述】:

我有一个简单的 DotNet Core 应用程序,可以在 dotnet run 下运行良好,但是当我使用 dotnet publishdotnet HelloWorld.dll 时(在 bin/Debug/netcoreapp1.1 目录中;与 bin/Rebug/netcoreapp1.1 相同) ,在我的本地计算机上,命令提示符显示“现在正在侦听:http://localhost:5000”,但是当我使用浏览器导航到该地址时服务没有响应。是否有任何类型的日志可供查看?

我在 Windows 10 和 OSX 10.11 中复制了相同的内容,都使用干净的 dotnet new -t web 项目,没有任何修改。 在 Windows 中,我运行了netstat -noa | find "LISTENING",可以在列表底部看到端口 5000。但是我尝试时仍然没有连接。

想法?

浏览器输出为:

The localhost page isn’t working
localhost is currently unable to handle this request.
HTTP ERROR 500"

我在 Windows 和 Mac 机器上运行 .Net Core 1.1.0 - SDK 1.0.0 Preview 2.1-003177。

【问题讨论】:

  • 您必须提供更多信息。控制台输出、异常、http 响应?我们不知道你得到了什么?如果您在执行期间收到 http 代码 500,则它会出现一些异常
  • 好点,抱歉没有提供足够的信息。 Chrome 给我以下输出:“本地主机页面不工作本地主机当前无法处理此请求。HTTP 错误 500”我希望在某种错误日志中找到更多信息,但不知道在哪里看。
  • 你弄明白了吗?我有一个类似的问题,虽然可能不太一样。如果我在同一台机器上启动浏览器,它工作正常,但如果我尝试从另一台机器连接它就不起作用。我添加了一个入站防火墙规则以允许端口 5000 通过,但应用程序根本没有响应 - 就像它从未看到请求一样。它只是停留在控制台中的“Ctrl-C 关闭”。我可以看到请求来自 netmon,但 ASP.NET Core 保持沉默。令人困惑。
  • 哦,我想出了我的问题...也许这会对你有所帮助。指出我正确方向的是这个问题:stackoverflow.com/questions/37365277/…。我添加了 UseUrls,但直到我使用公共主机名而不是 localhost 后它才起作用。似乎 localhost 仅表示来自本地机器的请求。

标签: asp.net-core asp.net-core-mvc


【解决方案1】:

单击工具栏的 ^ 图标可查看隐藏图标。如果 IIS 正在运行,您将能够看到每个实例以及该实例正在侦听的端口

【讨论】:

  • 嗨,丹。我根本看不到 IIS 正在运行,我也不指望它会运行。独立启动 DotNet Core Web 应用程序时,我假设它使用捆绑的轻量级 Web 服务器,例如 Kestrel。当我检查任务管理器时,从 netstat(在我的 Windows 机器上)返回的进程 id 原来是“dotnet”。
【解决方案2】:

我遇到了同样的错误。为了诊断错误,我没有在 IIS Express 中启动应用程序,而是在我认为是在控制台窗口中打开的自托管选项中启动了该应用程序。

如果您在控制台窗口中查看日志,您可能会在该日志中看到错误。

另外,我注意到有时浏览器窗口会在主机环境准备好处理请求之前弹出并导航到 URL。当您收到此错误时,您所要做的就是等待一秒钟并刷新页面,主机环境将准备就绪并加载页面。

【讨论】:

    猜你喜欢
    • 2022-11-25
    • 2017-02-13
    • 2020-08-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2010-10-18
    相关资源
    最近更新 更多