【问题标题】:How to debug an ASPNET Core application in a subfolder如何在子文件夹中调试 ASPNET Core 应用程序
【发布时间】:2021-09-22 13:39:09
【问题描述】:

我有一个 ASPNET Core 应用程序,它可以在我的机器上运行良好,其 URL 为 https://localhost:5001/,但不能在客户端服务器上运行,该应用程序的 URL 为 https://example.com/subfolder/

问题似乎是其中一个页面上的重定向错误,其中用户被发送到/something 而不是/subfolder/something。我只使用相对 URL。在应用程序的其余部分,重定向工作正常。

我想知道是否可以在 Visual Studio 中调试应用程序并让它在子文件夹中运行,最好使用 Kestrel,但 IIS Express 也可能是一个选项。

cmets 后更新 在添加有关问题的详细信息时,我发现我从错误的角度看待它。实际问题似乎是应用程序以https://example.com/subfolder 启动(没有尾部斜杠)。重定向到./something(或只是something)将导致https://example.com/something

(因此,我真正的问题是:如果打开了https://example.com/subfolder,我该如何重定向到https://example.com/subfolder/?我会先尝试自己解决这个问题,也许应该在网络服务器中进行配置。同时,我还是想知道子文件夹能不能用来调试)

【问题讨论】:

  • 如果没有看到您遇到的实际错误,很难说出问题所在。这可能是服务器配置问题,所以没有什么可调试的,但这只是猜测
  • 我的假设是 Apache/Nginx 或您使用的任何反向代理配置错误。基本上,您的反向代理应该将请求从根“/”重定向到类似这样的内容:“localhost:5001/subfolder/”。
  • @Alexander 大多数重定向工作正常,只是这个失败,所以我不认为这是服务器问题。因为我想对如何调试子文件夹中的应用程序有一个通用的答案,所以我省略了细节,但也许我还是应该添加它们。给我一点时间。

标签: asp.net-mvc asp.net-core kestrel-http-server


【解决方案1】:

在开发中,您似乎无法在子文件夹中调试您的程序。

我不建议你花很多时间去搜索如何做到这一点,我也建议你使用IIS。因为在IIS中,它支持Virtual Application,我觉得是你想要的。

步骤:

  1. 创建一个主网站,并创建一个虚拟应用程序。

  2. 选择项目文件夹为Physical Path,主站点和虚拟应用程序。

  3. 以管理员身份打开vs2019,可能需要打开两次,一次用于主站点,另一次用于虚拟应用程序。

  4. 那你可以attach to a running process on your local machine.

  5. 你可以在一个端口启动你的两个 webapp,你可以调试它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    相关资源
    最近更新 更多