【问题标题】:WCF address does not match what I specify in my web.configWCF 地址与我在 web.config 中指定的不匹配
【发布时间】:2009-09-24 00:35:21
【问题描述】:

在我的 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 Storm 访问该服务时, 我输入http://mymachine/SearcherService/SearcherService.svc,它发现所有函数名都很好,但是当我尝试运行一个时,我得到:

没有端点监听 net.tcp://myserver:9000/SearcherService 可以接受该消息。这是 通常是由不正确的地址引起的 或 SOAP 操作。请参阅 InnerException,如果 现在,了解更多详情。

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

注意:

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

【问题讨论】:

    标签: wcf


    【解决方案1】:

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

    【讨论】:

    • 您可以在端点上指定绝对地址,但它们必须与 IIS+Application 的基地址匹配。例如,如果您的应用程序托管在服务器 MyServer 上并且应用程序是 MyApp,您可以像这样添加一个绝对端点:
    猜你喜欢
    • 2015-10-02
    • 2018-02-07
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多