我想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>
4条答案
按热度按时间zaqlnxep1#
您可以使用此方法:
开启项目中的Program.cs:
More Info
jgwigjjp2#
对于这种情况有一个隧道解决方案,您可以使用ngrok应用程序来隧道您的本地env,并给予一个远程URL到网络外部,用于调试或测试目的。
下载ngrok后,只需运行以下命令:
不要忘记更换本地应用程序端口。
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>/
eni9jsuy4#
对于.net核心来说,从远程设备访问运行在VS上的本地Web应用程序非常简单;只需将launchsettings.json中的applicationUrl值从“https://localhost:[端口]”更改为“https://0.0.0.0:[端口]”,类似于http绑定。
如果您在主机上运行防火墙,则可能需要允许远程访问端口。