C#Can';t从其他设备连接到自托管web api

C#Can';t从其他设备连接到自托管web api,c#,.net,webserver,C#,.net,Webserver,我有一个C#自托管web api(控制台应用程序.NET框架)。我可以从localhost检查api,但无法从其他设备(如电话或其他桌面)连接到web api。我尝试了192.168.X.X:PORT,但没有成功 我注意到,如果您关闭防火墙,那么当您尝试从另一台设备向API发出请求时,请求将失败,并出现错误: “请求错误-主机名无效。 HTTP错误400。请求主机名无效。“ 如果启用防火墙,则请求将花费很长很长时间。尝试从防火墙设置或禁用它执行新查询 在sql servce clint的serv

我有一个C#自托管web api(控制台应用程序.NET框架)。我可以从localhost检查api,但无法从其他设备(如电话或其他桌面)连接到web api。我尝试了192.168.X.X:PORT,但没有成功

我注意到,如果您关闭防火墙,那么当您尝试从另一台设备向API发出请求时,请求将失败,并出现错误: “请求错误-主机名无效。 HTTP错误400。请求主机名无效。“
如果启用防火墙,则请求将花费很长很长时间。

尝试从防火墙设置或禁用它执行新查询

在sql servce clint的serveces设置中插入端口1433,启用它可能会对您有所帮助

问题是,默认情况下,绑定只针对
localhost:PORT
。如果您绑定到
0.0.0.0:PORT
(并允许防火墙上的端口),您将能够从另一台计算机进行访问

您可以通过
UseUrls()


您是否尝试过禁用windows防火墙并重试?是的,我尝试过。我还检查了SpringJava的远程访问,结果很成功。谢谢!我的问题是防火墙和主机绑定?所以我将localhost改为'*'。我不记得'*'是否真的有效。此处我的应用程序配置为“0.0.0.0”。很高兴知道是这样:)
public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

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