C# WCF服务没有端点

C# WCF服务没有端点,c#,wcf,wcf-client,C#,Wcf,Wcf Client,运行WCF测试客户端时,出现错误: 错误:无法从中获取元数据 localhost:52875/controllerinfo.svc(如果这是Windows(R) 请访问您的通信基础服务 检查是否已在指定的位置启用元数据发布 地址。 元数据 包含无法解析的引用: 本地主机:52875/controllerinfo.svc'。没有 在本地主机上侦听的端点:52875/controllerInfo.svc 我可以接受这个消息。这通常是由错误的 地址或SOAP操作。有关更多信息,请参阅InnerExce

运行WCF测试客户端时,出现错误:

错误:无法从中获取元数据 localhost:52875/controllerinfo.svc(如果这是Windows(R) 请访问您的通信基础服务 检查是否已在指定的位置启用元数据发布 地址。
元数据 包含无法解析的引用: 本地主机:52875/controllerinfo.svc'。没有 在本地主机上侦听的端点:52875/controllerInfo.svc 我可以接受这个消息。这通常是由错误的 地址或SOAP操作。有关更多信息,请参阅InnerException(如果存在) 细节

这是我的
web.config
文件

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>
  <system.serviceModel>
    <standardEndpoints>
      <webHttpEndpoint>
        <standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" />
      </webHttpEndpoint>
    </standardEndpoints>
    <services>
      <service name="dev_FineReceiptsService.ControllersInfo">
        <endpoint kind="webHttpEndpoint" contract="dev_FineReceiptsService.IControllersInfo" />
      </service>
    </services>
  </system.serviceModel>
  <connectionStrings>
    <add name="FineReceiptsTestEntities" connectionString="metadata=res://*/FineTest.csdl|res://*/FineTest.ssdl|res://*/FineTest.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=msdev01;Initial Catalog=FineReceiptsTest;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

谁能告诉我我做错了什么


我试图找到类似的问题,但没有一个对我有帮助。

您的服务是基于REST的服务(因为您指定了
webHttpBinding

但是,WCF测试客户端是一个基于SOAP的测试工具-您可以使用此-
basicHttpBinding
wsHttpBinding
等测试SOAP服务


但是您不能使用基于SOAP的WCF测试客户端来测试基于REST的WCF服务。。。那不行。使用常规web浏览器,可能与Fiddler或类似的东西结合使用,以测试REST服务。

您的服务是基于REST的服务(因为您指定了
webHttpBinding

但是,WCF测试客户端是一个基于SOAP的测试工具-您可以使用此-
basicHttpBinding
wsHttpBinding
等测试SOAP服务


但是您不能使用基于SOAP的WCF测试客户端来测试基于REST的WCF服务。。。那不行。使用常规web浏览器,可能与Fiddler或类似的东西结合使用,以测试REST服务。

元数据端点公开描述SOAP服务的WSDL+XSD。不支持为REST公开元数据。由于您正在使用webHttpEndpoint,因此无法使用WCFTestClient。用于测试Rest服务,也可以使用浏览器

如果需要使用简化配置向SOAP服务添加元数据,则需要添加以下行为:

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

元数据端点公开描述SOAP服务的WSDL+XSD。不支持为REST公开元数据。由于您正在使用webHttpEndpoint,因此无法使用WCFTestClient。用于测试Rest服务,也可以使用浏览器

如果需要使用简化配置向SOAP服务添加元数据,则需要添加以下行为:

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>


我的理解是,我只是以错误的方式测试了服务,所以我在服务中没有错误,是吗?因为在本地浏览器中工作正常。@Big.Child:您使用的测试工具肯定不适合您的服务。您的服务是否有问题-我无法告诉您。。。。。但您不能对基于REST的WCF服务使用WCF测试客户端。我怎么理解,我只是以错误的方式测试了服务,所以我在服务中没有错误,是吗?因为在本地浏览器中工作正常。@Big.Child:您使用的测试工具肯定不适合您的服务。您的服务是否有问题-我无法告诉您。。。。。但不能对基于REST的WCF服务使用WCF测试客户端。