C# 无法调度该消息,因为终结点地址为net的服务。tcp://localhost/ 对于地址的协议不可用

C# 无法调度该消息,因为终结点地址为net的服务。tcp://localhost/ 对于地址的协议不可用,c#,asp.net,wcf,C#,Asp.net,Wcf,我正在Visual Studio 2012中开发WCF服务。以下是web.config文件: <system.serviceModel> <client> <endpoint address="net.tcp://localhost/BlueYonder/Booking" binding="netTcpBinding" contract="BlueYonder.BookingService.Contracts.IBookingService"

我正在Visual Studio 2012中开发WCF服务。以下是web.config文件:

  <system.serviceModel>
    <client>
      <endpoint address="net.tcp://localhost/BlueYonder/Booking" binding="netTcpBinding" contract="BlueYonder.BookingService.Contracts.IBookingService" name="BookingTcp">
        <identity>
          <certificateReference storeLocation="LocalMachine" storeName="TrustedPeople" x509FindType="FindBySubjectName" findValue="Server"/>
        </identity>
      </endpoint>
    </client>
    <bindings>
      <netTcpBinding>
        <binding>
          <security mode="Message">
            <message clientCredentialType="Certificate"/>
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <clientCredentials>
            <serviceCertificate>
              <authentication revocationMode="NoCheck" />
            </serviceCertificate>
            <clientCertificate storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" findValue="Client"/>
          </clientCredentials>
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>

我还在IIS中启用了net.tcp绑定。此外,我还检查了所需的服务(侦听器)是否正在运行

但是,我收到以下错误消息:

EndPointNotFoundException


网络上没有端点侦听。tcp://localhost/BlueYonder/Booking 这可以接受这个信息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。

您可以一步一步地尝试几件事情

  • 确保所有必需的服务都在运行。转到本地服务并检查以下服务。 查看图像
  • 正如您所说的,您已经在IIS中启用了net.tcp绑定,所以这很好。 3.确保您的
    HTTP
    端口和
    NET.TCP
    端口不同,最好是80上的HTTP和808上的NET.TCP
  • 重新启动IIS并更新客户端应用程序中的服务引用
  • 检查是否为NET.TCP添加了任何新的服务引用,而不是使用新的服务引用,删除已创建的旧服务引用 确保您完成了第4点和第5点(如果您已经完成了第1点到第3点) 如果您仍然面临一些问题,请检查您的IIS是否已注册为ASP.NET 4.5或您正在使用的任何其他版本。为IIS注册Asp.net的命令是
    aspnet\u regiis-i

    以管理员身份运行Visual studio Developer命令提示符,然后启动
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet\u regiis-i

    您可以一步一步地尝试几件事

  • 确保所有必需的服务都在运行。转到本地服务并检查以下服务。 查看图像
  • 正如您所说的,您已经在IIS中启用了net.tcp绑定,所以这很好。 3.确保您的
    HTTP
    端口和
    NET.TCP
    端口不同,最好是80上的HTTP和808上的NET.TCP
  • 重新启动IIS并更新客户端应用程序中的服务引用
  • 检查是否为NET.TCP添加了任何新的服务引用,而不是使用新的服务引用,删除已创建的旧服务引用 确保您完成了第4点和第5点(如果您已经完成了第1点到第3点) 如果您仍然面临一些问题,请检查您的IIS是否已注册为ASP.NET 4.5或您正在使用的任何其他版本。为IIS注册Asp.net的命令是
    aspnet\u regiis-i

    以管理员身份运行Visual studio Developer命令提示符,然后启动
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet\u regiis-i

    是否从客户端应用程序收到此错误?该服务是否正在运行?是否存在
    InnerException
    ,是否有详细信息?当客户端应用程序(Windows应用商店应用程序)尝试与服务应用程序通信时,我在服务应用程序上收到此错误消息。(代理为ICommunicationObject)。Open()是服务应用程序中引发异常的行。InnerException与我前面提到的相同。您是从客户端应用程序中得到此错误的吗?该服务是否正在运行?是否存在
    InnerException
    ,是否有详细信息?当客户端应用程序(Windows应用商店应用程序)尝试与服务应用程序通信时,我在服务应用程序上收到此错误消息。(代理为ICommunicationObject)。Open()是服务应用程序中引发异常的行。InnerException与我前面提到的相同。