我有一个WCF REST服务,当使用IISExpress和以下URL时,该服务可以调试并完美运行:

http://localhost:<portnumber>

但是,由于各种原因,我还需要它也可以与IIS Express和THIS url一起使用:
http://<ip address>:<portnumber>

最初尝试时,出现HTTP错误400:错误的请求。然后我用了google,结果到了这里:Connecting to Visual Studio debugging IIS Express server over the lan

该线程问了完全相同的问题,而答案使我成为了其中的一部分。遵循该线程中所有最出色的建议,我执行了以下操作:

编辑IISExpress Host.config:

1:打开%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config文件。

2:更改了所有以下17行:
<binding protocol="http" bindingInformation="*:8080:localhost" />

看起来像这样:
<binding protocol="http" bindingInformation="*:8080:*" />

(端口号在所有17条线路上都不同)

Visual Studio:

关闭,重新打开,但以管理员身份运行

Windows防火墙:

添加了有问题的端口以允许传入连接

CMD:
netsh http add urlacl url=http://*:XXXXX/ user=Everyone

运行该命令,其中XXXXX是端口号。

现在,当我开始调试并转到以下URL时:
http://<ip address>:<portnumber>

现在,我收到的不是“HTTP错误400:错误的请求”,而是“HTTP错误503。服务不可用”。

这是进步,因为浏览器现在至少已经达到了IISExpress,对吗?但目前我不确定如何克服此503错误。我已经在Google上搜索该错误已有一段时间了,但是我要尝试执行的操作没有什么特别的。

有任何想法吗?

最佳答案

弄清楚了。代替这个:

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

更改为此:
<binding protocol="http" bindingInformation="*:8080:" />

关于wcf - Visual Studio 2013 : Debug using IP Address instead of LocalHost,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29016760/

10-13 05:53