noo*_*ker 36 c# asp.net debugging android localhost
我正在尝试从.net编写一个WEB API,并尝试让我的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上测试,而不是每次我想要进行更改时都要部署它?
Mat*_*hew 42
如果您在调试模式下运行它,我假设您正在使用IIS-Express.
默认情况下,IIS-Express仅绑定到localhost
.
为了避免这种情况,您可以打开位于以下位置的IIS-Express应用程序配置文件:C:\Users\<username>\My Documents\IISExpress\config\applicationhost.config
并修改站点的绑定信息.
更改
<binding protocol="http" bindingInformation="*:55284:localhost" />
Run Code Online (Sandbox Code Playgroud)
至
<binding protocol="http" bindingInformation="*:55284:*" />
Run Code Online (Sandbox Code Playgroud)
您还必须在更改后重新启动IIS-Express.
noo*_*ker 17
安东和马修的答案都向我指出了正确的方向
所以这就是我所做的
以管理员模式运行Visual Studios
更改了绑定协议,并按照建议允许传入方向 http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer
但在那之后,我有一个服务不可用(503)错误
所以我遵循这个: IIS Express启用外部请求 - 503 只添加了端口协议和端口:ip协议,
比它在我的机器的浏览器和手机上都有效.
不太确定为什么需要第3步 - 我的假设是(VS需要localhost url指向并且ip url用于从另一台机器访问)
小智 7
当我想共享我的localhost IIS时,我遇到了同样的问题,所以有些人可以输入我的机器名或IP并连接到我的web应用程序实例.因此,如果这是您在http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer时所需要的.它适用于Silverlight和MVC应用程序.我甚至设置了断点,他们被远程机器击中.
在您的解决方案目录中,在文件 .vs\config\applicationHost.config 中更改行
<binding protocol="http" bindingInformation="*:1234:localhost" />
Run Code Online (Sandbox Code Playgroud)
到
<binding protocol="http" bindingInformation=":1234:192.168.1.35" />
Run Code Online (Sandbox Code Playgroud)
并以管理员身份运行 Visual Studio。重新启动 IIS Express。这个解决方案对我有用。
归档时间: |
|
查看次数: |
58936 次 |
最近记录: |