从IP地址远程访问本地ASP.NET Core应用程序?

时间:2019-05-26 10:10:52

标签: asp.net-mvc visual-studio api model-view-controller

我想从远程计算机或移动设备上(调用)调试我的asp.net核心应用程序吗?请帮我。在将empirical: logical. If true, mu and Sigma specify the empirical not population mean and covariance matrix 更改为.vs\config\applicationhost.config时,在标准.net中将此代码添加到<binding protocol="http" bindingInformation="*:21918:localhost" />中。

<binding protocol="http" bindingInformation="*:21918:*" />

3 个答案:

答案 0 :(得分:1)

有一种针对这种情况的隧道解决方案,您可以使用ngrok应用程序来隧道本地环境,并将远程URL提供给网络外部以进行调试或测试。

下载ngrok之后,只需运行以下命令:

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

别忘了替换您的本地应用程序端口。

答案 1 :(得分:1)

您可以按照以下说明解决问题并解决所有这些问题。 1-确保您没有任何打开的Visual Studio实例。

2-打开文件%userprofile%\Documenti\IISExpress\config\applicationhost.config,即%userprofile%您的用户文件夹-像C:\Users\YourUsername\.

3-以以下方式查找与我们要修改和更改其绑定元素的Web应用程序对应的条目: <binding protocol="http" bindingInformation="*:<port>:*" />要做的就是用*替换几个本地主机,而将自动分配的<port>保持原样。如果您确实需要更改该端口,请用另一个有效的免费TCP端口(例如8080)替换它,然后执行以下步骤。否则,请跳过它并转到它旁边的步骤。

4-如果您更改了自动分配的TCP端口,则还需要打开Web应用程序项目(.csproj)和解决方案(.sln)文件,并确保没有对先前端口的引用:它们可以存在是否取决于您选择的项目类型(Web应用程序,MVC App,网站等)。如果是这种情况,请用新端口替换旧端口。

5-打开命令提示符(具有管理员权限),然后键入以下内容: netsh http add urlacl url=http://*:<port>/ user=everyone将应用程序TCP端口替换为。如果收到错误消息(1789),则表明系统上不存在“所有人”用户组,这可能是某些Windows本地化版本中发生的。在这种情况下,只需将所有人替换为相应的用户组名称即可。除了执行此步骤之外,您还可以尝试在具有管理员权限的情况下执行Visual Studio。

6-打开Windows防火墙高级配置面板,并添加入站规则以为应用程序IISExpress.exe或Web应用程序使用的TCP端口启用入站流量。如果您为其他产品禁用了此功能,请执行相同操作。如果您不使用任何设备-确定吗? –您可以借此机会填补空白,然后执行以上操作,也可以跳过此步骤。

完成此操作后,您可以启动Visual Studio并以“调试”或“发布”模式运行您的应用程序:您应该能够使用以下网址从任何外部网络连接设备中访问它: http://<lan-ip-address>:<port>/

答案 2 :(得分:0)

您可以使用此方法:

在您的项目中打开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