配置IIS Express以便通过IP地址访问调试的网站

时间:2021-12-21 12:58:20

问题背景

最近使用C#编写了一个WebService,希望通过Java进行调用。使用Visual Studio 2013调试WebService时,可以在浏览器中通过localhost地址访问WSDL文件。

访问方式如:http://localhost:2256/DataProvider.asmx?WSDL。

但是,当使用http://127.0.0.1:2256/DataProvider.asmx?WSDL或者使用http://[本机IP]:2256/DataProvider.asmx?WSDL时,显示Bad Request错误。

现在希望其他机器访问本机的WSDL文件,所以要求WebService可以使用IP地址访问。

开发环境:

1)Windows 7

2)Visual Studio 2013

配置方法

1)找到<我的文档>/IIS Express文件夹,打开applicationhost.config。

2)在配置文件中找到<sites></sites>标签。

3)<sites>标签内包含许多<site>标签,找到WebService所在的<site>标签,如 <site name="DataProvider" id="2">。

4)在<site>标签内找到<bindings>标签,在<bindings>找到<binding>标签的bindingInformation属性,如bindingInformation="*:2256:localhost"。

5)修改localhost为*。有关bindingInformation的详细信息参考这里

6)使用管理员权限重新启动Visual Studio 2013,并退出任务管理器的IISExpress程序。

7)调试程序。

8)结束。

备注

bindingInformation设置方法:

1)如果希望对所有IP绑定80端口,并且不指定host名称,则设置为“*:80:”。

2)如果希望对所有IP绑定80端口,并且指定host名称为microsoft.com,则设置为“*:80:microsoft.com”。

2)如果希望对固定IP(192.168.1.150)绑定8080端口,则设置为“192.168.1.150:8080:”。

3)、如果希望能上传等操作,还需要对项目文件夹进行权限设置,改为Everyone

 

来源:https://www.cnblogs.com/yezhang/p/IIS_EXPRESS_IPACCESS.htm