我试图写一个WEB API从.net和尝试为我的Android应用程序从SQL Server数据库查询一些数据。
我有Web API编写,它在调试模式下运行良好。
我的问题是,我注意到该应用程序的URL是localhost:port
,它运行正常。然而,当我试图将其更改为MYIP:port (eg. http:192.168.X.1234)
或MYHOSTNAME:port (eg win7home:1234)
时,这给了我Bad Request - Invalid Hostname
。
我知道我可以部署到IIS和我的IIS是设置,但我只是想知道为什么它不工作在调试模式?
有没有一种方法可以让我在调试模式下运行它,同时在我的Android上进行测试,而不是每次我想要进行更改时都必须部署它?
7条答案
按热度按时间zengzsys1#
如果你在调试模式下运行它,我假设你使用的是IIS-Express。
默认情况下,IIS Express只绑定到
localhost
。要避免这种情况,您可以打开位于
C:\Users\<username>\My Documents\IISExpress\config\applicationhost.config
的IIS-Express应用程序配置文件并修改站点的绑定信息。变化
字符串
到
型
您还必须在更改后重新启动IIS-Express。
fgw7neuy2#
安东和马修的答案都为我指明了正确的方向
所以我就这么做了
1.以管理员模式运行Visual Studios
1.更改了绑定协议,并允许按建议http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer输入方向
但在此之后,我有一个服务不可用(503)错误
1.所以我遵循了这个:IIS Express Enable External Request - 503只添加了端口协议和port:ip协议,
比它在我的机器浏览器和手机上都好用。
不太确定为什么需要第三步-我的假设是(VS需要localhost url来指向,ip url用于从另一台机器访问)
j91ykkif3#
当我想共享我的localhost IIS时,我也遇到了同样的问题,这样一些人就可以输入我的机器名或IP并连接到我的Web应用程序示例。所以如果这是你在http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer时所需要的。它对我来说适用于Silverlight和MVC应用程序。我甚至设置了断点,它们会从远程机器上被击中。
pwuypxnk4#
在解决方案目录中的.vs\config\applicationHost.config文件中,
字符串
到
型
并以管理员身份运行Visual Studio。重新启动IIS Express。此解决方案对我有效。
yzckvree5#
我一直在寻找这个一段时间,终于找到了一个解决方案的人谁调试到控制台应用程序(启动:项目)。
在Program.cs类中,您必须添加URL URL()
字符串
我在网上找不到这个,但我在一些旧项目中找到了它。
smtd7mpg6#
在Visual Studio Code中调试时遇到了同样的问题,我通过添加以下内容解决了这个问题:
字符串
. to launch.json
显然,默认情况下,它将http协议绑定到'localhost:5000',所以它可以与 localhost 一起工作,但不能与 ip address 一起工作。
如果您试图通过来自其他计算机的请求来命中断点,请不要忘记检查您的防火墙设置(和/或防病毒)
希望这有帮助
wfsdck307#
.net核心,您可以使用ip或机器名访问API
字符串