【问题标题】:How to access a service deployed locally in IIS express from Visual studio emulator for android如何从 Visual Studio emulator for android 访问在 IIS express 中本地部署的服务
【发布时间】:2015-11-13 13:15:53
【问题描述】:

我有一个 WebApi 项目,它以 http://localhost:6143http://127.0.0.1:6143 在我的机器上本地部署。

但是,当我尝试在适用于 Android 浏览器的 Visual Studio 模拟器上浏览到该端点时,我得到 net:err 连接超时。

请注意,我在模拟器上使用的是http://10.0.2.2:6143,因为 localhost 在模拟器上不起作用(因为它是一个虚拟机,所以 localhost 指的是它自己)。

我也试过 127.0.0.1:6143 并且连接被拒绝。

我还在传入的防火墙规则中添加了端口 6143。

奇怪的是 xamarin 安装的其他模拟器运行良好,没有配置问题。

任何线索为什么这不起作用?到目前为止,我所有的搜索和方法都失败了。

【问题讨论】:

标签: visual-studio android-emulator asp.net-web-api iis-express


【解决方案1】:

经过一番打猎后想通了。

在 VS 2015 中,asp .net 项目的 applicationhost.config 文件不再位于 Documents\IISExpress 文件夹中。它现在位于 .vs\Config 的项目根目录中。

一旦我想通了,解决方案就很简单了。我进入配置并添加了如下绑定(出于某种原因,这在我的原始帖子中被隐藏了)

  1. 在您的网站/webrole 的配置文件中找到 sites 元素。是这样的:

    `<site name="MySite.Service.WebRole" id="3">`
    
  2. 添加新的绑定元素

    &lt;binding protocol="http" bindingInformation="*:6153:myMachineName" /&gt;

就是这样。现在在模拟器中,我可以访问http://myMachineName:6153 来访问服务。

【讨论】:

  • “添加了如下绑定”。具体如何?
  • 刚刚编辑了我的帖子以更新它,抱歉之前包含但未正确注释。
  • 我现在这样做了,当我运行我的项目时,我得到一个拒绝访问。我必须以管理员身份运行 VS 才能让项目再次运行,但它确实有效。我的设备现在可以使用我的服务了。
  • 显然还有其他选择,blog.lextudio.com/…
【解决方案2】:

Conveyor

为此,您只需要 IIS-Express 部署的 Web 服务的 IP 地址。要获取 IP,请使用 Visual Studio 扩展“Conveyor”。

【讨论】:

    猜你喜欢
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多