代码之家  ›  专栏  ›  技术社区  ›  Matt

wcf地址与我在web.config中指定的地址不匹配

wcf
  •  0
  • Matt  · 技术社区  · 15 年前

    在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 (注意港口不见了)

    当我去那里的时候,它告诉我要跑

    SvCuTel.EXE http://myserver .mycompany.com公司名称 /SearcherService/SearcherService.svc?WSDL

    它出于某种原因添加了域名,当我尝试使用WCF Storm访问服务时, 我放进去 http://mymachine/SearcherService/SearcherService.svc ,它发现所有函数名都很好,但是当我尝试运行一个函数名时,我得到:

    没有终结点正在侦听 net.tcp://myserver:9000/搜索服务 这可以接受信息。这是 通常是由错误的地址引起的 或SOAP操作。参见InnerException,如果 展示,了解更多细节。

    关于为什么我的服务URL与我在web.config中指定的不匹配有什么想法吗?

    注:

    我在IIS中的应用程序上设置了nettcp,并在9000:上启用了绑定:*

    1 回复  |  直到 15 年前
        1
  •  2
  •   Maurice    15 年前

    在IIS中托管WCF服务时,由IIS及其配置决定服务的基地址,并且只能指定相对地址。基址仅适用于自托管服务。