[英]Cant´t access a WCF Service, that uses basicHttpBinding and hosted outside IIS, from other machine over a local network
我创建了一个具有两个端点的服务,一个用于 netHttpBinding,另一个用于 basicHttpBinding。
我可以使用同一台机器上的两个地址( net.tcp://localhost:8080/Whatever or http://localhost:8000/ProductsService/Service.svc
)从客户端解决方案“添加服务引用”
但是当试图通过网络从另一台机器“发现”服务时,我可以使用net.tcp://localhost:8080/Whatever
address但不能使用http://localhost:8000/ProductsService/Service.svc
地址
当我使用 basicHttp 时,出现错误 (http):
我尝试以以下方式运行 netsh(以管理员身份运行 Comand Prompt):
netsh http add urlacl url=http://+:8000/ user=<Machine Name>\Username
我收到以下错误:
Url reservation add failed, Error: 103
Cannot create a file when that file already exists
我该怎么做才能使用 basicHttp 端点从另一台机器“发现”(当然是 Go)服务?
我使用 ServiceHost 类型来“发布”服务,定义服务的解决方案的 ServiceModel 节点 (App.config) 是:
您正在尝试从其服务地址发现该服务 - 您确实应该尝试从它的mex
地址发现它。
根据您的配置,您应该能够在以下位置找到该服务:
http://machineName:8000/ProductsService/mex
甚至在
http://machineName:8000/ProductsService
编辑
防火墙可能会阻止入站连接。 在服务主机上添加防火墙入站规则以允许端口 8000 上的 tcp 连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.