为什么我看到“HTTP错误400”?请求主机名无效."当连接到WCF服务时

本文关键字:quot 无效 连接 服务 WCF 主机 HTTP 我看 错误 请求 为什么 | 更新日期: 2023-09-27 18:08:44

你好,帮帮我,请了解情况:

连接到WCF服务只能在本地获得

http://localhost:50233/Service1.svc?wsdl

当从LAN上的另一台机器测试复合时,我看到错误400

http://computer:50233/Service1.svc?wsdl

i发现这可能是由于MaxFieldLength的信息,因此我按照这里的建议编辑了注册表,但它不改变结果。

C: ' Users ' user> ping computer
Pinging 192.168.0.11 with 32 bytes of data:
Reply from 192.168.0.11: bytes = 32 time <1ms TTL = 127
Reply from 192.168.0.11: bytes = 32 time <1ms TTL = 127
Reply from 192.168.0.11: bytes = 32 time <1ms TTL = 127
Reply from 192.168.0.11: bytes = 32 time <1ms TTL = 127
Ping statistics for 192.168.0.11:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

当停止服务时,远程计算机上的错误将更改为

"Web page not available"

防火墙规则允许50233端口上的所有传入连接。

连接到本地地址时

http://computer:50233/Service1.svc?wsdl

i看到相同的错误400.

删除或替换IP

上的"localhost"时
<binding protocol="http" bindingInformation="*:50233:localhost" />

File ' My Documents ' IISExpress ' config ' applicationhost.config

连接不可用。

当你添加另一个绑定

<Binding Protocol="http" bindingInformation="*:50233:localhost" />
<Binding Protocol="http" bindingInformation="*:50233:192.168.0.11" />

服务试图启动发誓程序"[9632]iisexpress.exe"

failed with code -1073741816 (0xc0000008)'指定了无效句柄'.

Windows 8, Visual Studio 2013,使用内置iis Express,两台计算机在同一域中

为什么我看到“HTTP错误400”?请求主机名无效."当连接到WCF服务时

命令执行(以管理员身份)

netsh http add urlacl url=http://computer:50233/ user=Everyone

帮助修改了503中400的错误

现在要查看wsdl,我只需添加一个引用

<Binding Protocol="http" bindingInformation="*:50233:computer" /> 
<Binding Protocol="http" bindingInformation="*:50233:192.168.0.11" /> 
<Binding Protocol="http" bindingInformation="*:50233:localhost" /> 

,它开始工作!

谢谢大家,这是一个美好的地方