在我的web.config中,我指定了
<services>
<service name="Querier.WCF.Querier"
behaviorConfiguration="QuerierServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://myserver:8000/SearcherService"/>
</baseAddresses>
</host>
<endpoint address="net.tcp://myserver:9000/SearcherService"
binding="netTcpBinding"
bindingConfiguration="Binding1"
contract="Querier.WCF.IQuerier" />
</service>
</services>
但是,该网站在http://myserver:8000/SearcherService,
不可用我出于某种原因必须去:
http://myserver/SearcherService/SearcherService.svc (请注意端口丢失)
当我去那里时,它告诉我运行
svcutil.exe http://myserver .mycompanyname.com /SearcherService/SearcherService.svc?wsdl
由于某种原因它添加了一个域名,当我尝试使用WCF风暴访问该服务时, 我输入http://mymachine/SearcherService/SearcherService.svc,它发现所有的函数名称都很好,但当我尝试运行一个时,我得到:
没有终点收听 的net.tcp:// MYSERVER:9000 / SearcherService 那可以接受这个消息。这是 通常由不正确的地址引起 或SOAP动作。请参阅InnerException,if 目前,了解更多详情。
关于我的服务网址为何与我在web.config中指定的内容不相符的任何想法?
注意:
我在IIS中的应用程序上设置了nettcp,并在9000上启用了绑定:*
答案 0 :(得分:2)
当您在IIS中托管WCF服务时,IIS及其配置决定了您的服务的基本地址,您只能指定相对地址。 baseaddress仅适用于自托管服务。