如何在IIS Express中启用远程请求?Scott Guthrie写道,这是可能的,但他没有说明如何实现。


当前回答

如果你尝试过Panic上校的答案,但在Visual Studio中不起作用,试试这个:

在IIS Express配置中附加另一个<binding />

<bindings>
    <binding protocol="http" bindingInformation="*:8080:localhost" />
    <binding protocol="http" bindingInformation="*:8080:hostname" />
</bindings>

最后,你必须以管理员的身份运行Visual Studio

其他回答

在IIS团队网站上有一篇博客文章解释了如何在IIS Express上启用远程连接。以下是那篇文章的相关部分总结:

在Vista和Win7上,在管理提示符下运行以下命令: Netsh HTTP添加urlacl url=http://vaidesg:8080/ user=everyone 对于XP系统,首先安装Windows XP Service Pack 2 Support Tools。然后在管理提示符下运行以下命令: httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(a;;GX;;;WD)

这个问题的公认答案是如何让IIS Express使用webmatrix的指南。我发现这个指南在使用VS 2010时更有用。

我只是按照步骤3和4(以管理员身份运行IIS Express),并且不得不暂时禁用我的防火墙才能让它工作。

我记得几个月前在尝试这个工作流时遇到了同样的问题。

这就是为什么我专门为这种场景编写了一个简单的代理实用程序:https://github.com/icflorescu/iisexpress-proxy。

使用IIS Express Proxy,一切都变得非常简单——不需要“netsh http add urlacl url=vaidesg:8080/ user=everyone”,也不需要弄乱你的“applicationhost.config”。

只需在命令提示符中发出以下命令:

Iisexpress-proxy 8080 ~ 3000

然后你可以把你的远程设备指向http://vaidesg:3000。

大多数时候越简单越好。

我做了以下操作并成功连接:

1)将IIS快速配置绑定从本地主机更改为“*”

绑定协议="http" bindingInformation="*:8888:*"

2)在防火墙上定义入站规则,允许特定的端口用于协议类型:tcp

3)添加以下命令为您的端口添加网络配置: Netsh HTTP添加urlacl url=http://*:8888/ user=everyone

[项目属性对话框]

使用VisualStudio 2017和NetCore api项目进行开发:

1)在Cmd-Box: ipconfig /all中确定ip地址

2a)在“项目属性->调试”选项卡中输入检索到的ip地址

2b)选择一个端口,并将其附加到步骤2a中的ip地址。

3)在防火墙中添加allow规则,允许从所选端口进入tcp流量 (我的防火墙被一个对话框触发:“阻止或添加规则到防火墙”)。在这种情况下,加法就可以了。

上述方案的缺点:

1)如果你使用动态ip地址,你需要重做上述步骤,以防另一个ip地址已被分配。

2)你的服务器现在有一个开放的端口,你可能会忘记,但这个开放端口仍然是一个邀请不受欢迎的客人。