WCF服务 - 未显示端点

时间:2014-03-26 13:08:50

标签: c# .net wcf

我有一个WCF服务,它有一个端点,我在配置文件中设置了服务合同和操作合同,但是当我运行服务时,虽然我在web.config中配置了端点,但它找不到端点。 / p>

此服务将在IIS中设置,因此我没有基本地址设置。

ServiceContract的配置名称为agent_port_type,服务行为的配置名称为agent_service。我正在使用basicHttpBinding。

以下是我的配置文件的一部分副本:

 <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ETAOutboundServiceBehavior">
          <serviceMetadata httpGetEnabled="true"  httpsGetEnabled="true"  />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
        <behavior name="Metadata">
          <serviceMetadata httpGetEnabled="true"  httpsGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="ETAOutboundServiceBehavior" name="agent_service">
        <clear />
        <endpoint address="" name="agent_interface" binding="basicHttpBinding" contract="agent_port_type"
          listenUriMode="Explicit" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"
          listenUriMode="Explicit" />
      </service>
    </services>
    <protocolMapping>
        <add binding="basicHttpsBinding" scheme="https" />
    </protocolMapping>    
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

任何帮助将不胜感激。我有一个不同的服务工作,但后来我使用svcutil创建agent_port_type,它不工作。

1 个答案:

答案 0 :(得分:0)

您应该尝试将配置简化为Works,然后根据需要添加额外选项。

开始于:

  • 删除明确标记
  • 删除所有对HTTPS的引用
  • 删除listenURIMode

  • 为端点添加地址

  • 检查您正在调用您认为正在呼叫的服务的IIS日志

  • 向您的配置添加语法错误并检查它是否失败(以确保您正在编辑的配置文件是正在使用的配置文件)