我创建了一个WCF服务,该服务托管在Windows服务中并在本地进行测试,现在看起来一切正常。
我现在准备部署到同一域中的本地服务器,但服务器具有动态IP地址。
如果需要更改基本地址,我需要设置什么?如何调用此服务,因为它具有动态IP?
我看了WCF Service on local network with Dynamic IP Address这可能是同样的问题,但它对我没有帮助。
配置文件中的当前基地址是
<add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
为了论证,可以说计算机名称是'ServerPC',Domain是'MyDomain.net'
我已尝试http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service
和http://ServerPC:8000/ServiceModelSamples/service
,但我收到了以下错误。
错误:无法从http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service获取元数据如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布。有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange错误URI上的MSDN文档:http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service元数据包含无法解析的引用:“http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service”。在http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service没有可以接受该消息的端点监听。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。无法解析远程名称:'MyDomain.net.ServerPC'HTTP GET错误URI:http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service下载“http://MyDomain.net.ServerPC:8000/ServiceModelSamples/service”时出错。无法解析远程名称:'MyDomain.net.ServerPC'
UPDATE
问题已解决。管理员告诉我,该端口的防火墙添加了一条规则,但是当我检查它时没有。
此外,我以前拨打的地址是http://PCNAME:8000/ServiceModelSamples/service
。显然用PC名替换PCNAME。在通话中没有要求的域名。