我有一个托管在我根据本手册开发的托管 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 操作引起的。
我究竟做错了什么?