【发布时间】: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