Visual Studio 从IP地址远程访问本地ASP.NET核心应用程序?

r3i60tvu  于 2022-11-17  发布在  .NET
关注(0)|答案(4)|浏览(233)

我想asp.net从远程计算机或移动的设备(调用)调试我的www.example.com核心应用程序?请帮助我。在标准.net中,当将<binding protocol="http" bindingInformation="*:21918:localhost" />更改为<binding protocol="http" bindingInformation="*:21918:*" />时,将此代码添加到.vs\config\applicationhost.config中。

<site name="project" id="2">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="F:\users\Api" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:21918:*" /> 
                </bindings>
            </site>
zaqlnxep

zaqlnxep1#

您可以使用此方法:
开启项目中的Program.cs:

var configuration = new ConfigurationBuilder()
            .AddCommandLine(args)
            .Build();

        var hostUrl = configuration["hosturl"]; // add this line
        if (string.IsNullOrEmpty(hostUrl)) // add this line
            hostUrl = "http://0.0.0.0:5001"; // add this line

        var host = new WebHostBuilder()
            .UseKestrel()
            .UseUrls(hostUrl)   // // add this line
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .UseConfiguration(configuration)
            .Build();

        host.Run();

More Info

jgwigjjp

jgwigjjp2#

对于这种情况有一个隧道解决方案,您可以使用ngrok应用程序来隧道您的本地env,并给予一个远程URL到网络外部,用于调试或测试目的。
下载ngrok后,只需运行以下命令:

./ngrok http 25114 -host-header="localhost:25114"

不要忘记更换本地应用程序端口。

xriantvc

xriantvc3#

你可以按照下面的说明来解决你的问题,并检查所有这些问题。1-确保你没有任何打开的Visual Studio示例。
2-打开文件%userprofile%\Documenti\IISExpress\config\applicationhost.config,即您的用户文件夹%userprofile%-例如C:\Users\YourUsername\.
3-查找与要修改得Web应用程序对应得条目,并按以下方式更改其绑定元素:<binding protocol="http" bindingInformation="*:<port>:*" />我们需要做的就是用 * 替换几个localhost,保留自动分配的<port>不变。如果你真的需要更改该端口,用另一个有效的空闲TCP端口(如8080)替换它,然后执行下面的步骤。否则,跳过它,转到它旁边的步骤。
4-如果您更改了自动分配的TCP端口,则还需要打开Web应用程序项目(.csproj)和解决方案(.sln)文件,并确保没有引用以前的端口:根据您选择的项目类型(Web应用程序、MVC应用程序、Web站点等),它们可以在那里,也可以不在那里。如果是这种情况,请用新端口替换旧端口。
5-打开命令提示符(具有管理员权限)并键入以下内容:netsh http add urlacl url=http://*:<port>/ user=everyone将应用程序TCP端口替换为。如果收到错误消息(1789),则意味着Everyone用户组不在您的系统中,在某些Windows本地化版本中可能会出现这种情况。如果是这种情况,只需将Everyone替换为相应的用户组名称即可。除了执行此步骤,您还可以尝试以管理员权限执行Visual Studio。
6-打开Windows防火墙高级配置面板并添加入站规则,以便为应用程序IISExpress.exe或Web应用程序使用的TCP端口启用入站流量。如果您为其他产品禁用了入站流量,请对其执行相同的操作。如果您没有使用任何入站流量-您确定吗?-您可以尝试填补空白,然后执行上述操作,或者跳过此步骤。
完成此操作后,您可以启动Visual Studio并在调试或发布模式下运行应用程序:您应该能够使用以下Web地址从任何连接到网络的外部设备访问它:http://<lan-ip-address>:<port>/

eni9jsuy

eni9jsuy4#

对于.net核心来说,从远程设备访问运行在VS上的本地Web应用程序非常简单;只需将launchsettings.json中的applicationUrl值从“https://localhost:[端口]”更改为“https://0.0.0.0:[端口]”,类似于http绑定。
如果您在主机上运行防火墙,则可能需要允许远程访问端口。

相关问题