首页 > 解决方案 > 在 WSL2 上的网络上从 VSCode 公开 .NET Core WebAPI

问题描述

我在 WSL2 中开发。我有一个 .NET Core Web API,我想从 VS Code 调试会话运行,我想从另一台机器访问它,以触发我的断点(另一台机器添加了一些额外的标头)。我似乎只能从本地主机下的机器访问它。我无法从网络上的另一台机器上访问它,比如http://mymachinename.domain.com/api/MyEndpoint

但是,我们可以在 Windows 下运行时使用 Program.cs 中的 UseUrls 来执行此操作,但这在托管在 WSL2 中时似乎不起作用。

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            webBuilder.UseUrls("http://0.0.0.0:5000", "http://mymachinename:5000"); 
        });

}

在 WSL2 中托管时,如何在我们的网络上进行访问?

标签: asp.net.net-corevisual-studio-codewsl-2

解决方案


您的 WSL 实例具有单独的 IP 地址。要找出运行:

hostname -I

您的 .NET Core 代码应该只指定http://localhost:5000.


推荐阅读