【问题标题】:Debugging ASP.NET Core in release mode在发布模式下调试 ASP.NET Core
【发布时间】:2022-02-08 11:25:06
【问题描述】:

我已经使用 ASP.NET Core 5 构建了一个 API,当我从我的笔记本电脑 (localhost) 发布它时,我得到了很好的响应,但是当我将项目移动到 Windows Server 2019 时,我无法得到一个好的结果不再响应(响应为空)。

我已经尝试使用 Postman 来理解这个问题,从 localhost 我可以得到很好的响应,但从服务器它总是为空(但 Postman 返回 200 作为代码响应)。

我想要从服务器调试应用程序,请问我该如何实现?

【问题讨论】:

  • 你试过写日志吗?您通常需要在生产服务器上无法获得的(远程)调试权限。所以无论如何你应该有好的日志。
  • 第二次日志记录,但如果您已发布到 Azure,则可以通过 Visual Studio 远程调试到应用服务中。
  • “我想要从服务器调试应用程序,请问我该如何实现?” - 从技术上讲,您可以尝试在公共 Internet 上使用远程调试,但这样做的复杂性太多了。下一个最好的方法是将 Visual Studio 本地安装到服务器本身并执行本地调试会话。请注意,当您处于中断模式时,整个 IIS Web 服务器工作进程 (w3wp.exe) 将无法处理其他传入请求,因此除非紧急情况,否则不要在活动生产环境中执行此操作。跨度>
  • 如果您没有收到响应,则很可能您在 HTTPS(安全)请求之前发生的 TLS 失败。任何其他类型的故障通常都会返回带有错误状态的响应。确保您使用的是 HTTPS 而不是 HTTP 的 URL。您的客户是什么类型的机器。旧客户端可能需要更新才能使用服务器上的最新 TLS。
  • 嗨@nvoigt,我确实有日志文件,我可以看到这个警告错误>> 2022-02-07 09:29:39.5659|WARN|Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware|无法确定用于重定向的 https 端口。

标签: c# asp.net-core


【解决方案1】:

您无法使用发布模式调试您的网络应用。

根据您的描述,我认为您应该仔细检查appsetting.jsonweb.config 文件中的连接字符串。


建议

  1. How to deploy webapp to remote IIS.

  2. 使用调试模式部署您的 webapp。

  3. Remote debug your web app.

【讨论】:

  • 你好 @Jason 你好吗,我已经将 API 应用程序从 Visual Studio(我的笔记本电脑)附加到服务器,但该过程没有达到断点,或者我必须在调试时发布它模式???
  • @Sylla 是的,您只能使用调试模式对其进行调试
  • 是的@Jason,我已将其发布为调试模式,但无法达到断点。
  • @Sylla 你可以使用 screentogif 工具来记录你在 Visual Studio 中的调试步骤吗?
  • 嗨@Jason,我还有一个问题,如果我将我的应用程序的 w3wp.exe 从服务器连接到我的笔记本电脑的 Visual Studio,我如何从服务器查看应用程序的输出因为我在这里看到的代码是我的本地应用程序代码???
猜你喜欢
  • 2014-02-18
  • 2011-09-02
  • 2010-11-17
  • 2012-06-30
  • 1970-01-01
  • 2017-03-30
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多