为什么我的WCF服务不响应web.config中的基地址设置?

为什么我的WCF服务不响应web.config中的基地址设置?,wcf,rest,asp.net-3.5,endpoint,base-address,Wcf,Rest,Asp.net 3.5,Endpoint,Base Address,我试图通过在Anthony Steele的基础上重新创建项目来学习如何使用WCF构建RESTful服务。他在配置中使用以下XML为服务设置端点 <host> <baseAddresses> <add baseAddress="http://localhost:8080/greeter"/> </baseAddresses> </host> 看看我的服务。我得到的只是一条未找到资

我试图通过在Anthony Steele的基础上重新创建项目来学习如何使用WCF构建RESTful服务。他在配置中使用以下XML为服务设置端点

    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8080/greeter"/>
      </baseAddresses>
    </host>

看看我的服务。我得到的只是一条未找到资源的消息——我是否遗漏了什么


编辑:我的部分问题是我的绑定是wsHttpBinding。使用webHttpBinding允许我正确使用服务-除了baseAddress配置部分仍然无效。

我的直觉是,服务端点没有成功创建

在服务“名称”属性中,不包括服务类型的FQN(完全限定名称)。其次,在端点“contract”属性中,您也没有将FQN包括在contract类型中

另一方面,这可能是一个港口问题。为了确保安全,请尝试运行Visual Studio 2008发行版中包含的WcfTestClient.exe。如果您可以连接到,那么您知道这不是端口问题

假设您可以通过MEX进行连接,然后尝试使用一些方法,这些方法可能会映射到

如果您在服务器上操作,请在此处查看有关HttpCfg.exe的一些有价值的详细信息:

如果您需要有关WcfTestClient的更多详细信息,请在此处查找:

以防万一:逐字复制示例,并验证其是否按照定义工作,包括配置文件,然后再对其进行任何更改

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior name="GreeterBehavior">
        <serviceMetadata httpGetEnabled="true"/>
        <serviceDebug includeExceptionDetailInFaults="false"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <services>
    <service behaviorConfiguration="GreeterBehavior" name="Greeter">
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:49268/TestREST/webapi/services/greeter"/>
        </baseAddresses>
      </host>
      <endpoint address="" binding="wsHttpBinding" contract="IGreeter">
        <identity>
          <dns value="localhost"/>
        </identity>
      </endpoint>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    </service>
  </services>
</system.serviceModel>