繁体   English   中英

无法通过本地网络从其他机器访问使用 basicHttpBinding 并托管在 IIS 外部的 WCF 服务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM