我根据this手册开发了托管Windows服务中托管的WCF服务。在App.config中,我指定了以下内容:
<service name="Inpas.Unipos.LicenseManager.SamService.Service"
behaviorConfiguration="SamServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/SamService/service"/>
</baseAddresses>
</host>
<endpoint address=""
binding="wsHttpBinding"
contract="Inpas.Unipos.LicenseManager.SamService.IService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
在客户端,我以这种方式连接到服务:
public void ConnectToService(string host, string port)
{
var binding = new WSHttpBinding();
var endpoint = new EndpointAddress(string.Format("http://{0}:{1}/SamService/service", host, port));
var channelFactory = new ChannelFactory<IService>(binding, endpoint);
_client = channelFactory.CreateChannel();
_client.Get2X2();
}
在本地计算机中它工作正常,但如果我尝试从另一台计算机连接到服务 - 我得到一个例外:
EndpointNotFoundException 消息:http://10.xx.xx.xx:8000/SamService/service没有可以接受该消息的端点监听。这通常是由不正确的地址或SOAP操作引起的。
我做错了什么?
答案 0 :(得分:0)
我通过打开服务的入站端口修复了它: