asp.net - 在 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 中托管时,如何在我们的网络上进行访问?
解决方案
您的 WSL 实例具有单独的 IP 地址。要找出运行:
hostname -I
您的 .NET Core 代码应该只指定http://localhost:5000
.
推荐阅读
- scala - Akka HTTP 异步指令
- pandas - 将 y 轴单位的科学记数法缩写更改为字符串
- javascript - Iview UI 表格单元格
- c# - 使用太多自定义控件时 WPF 会降低性能
- powershell - PowerShell:奇怪的日期格式字符串到日期时间
- docker - 关于使用 kafka、zookeeper 和 elastic search 运行 docker-compose 文件时出错
- android - 建议我从 websocket 服务器检索实时数据
- android - 通过打印管理器打印 PDF - 打印预览与输出不匹配
- html - 如何使元素与屏幕大小成比例?
- mysql - 基于光标的分页没有偏移?