【问题标题】:Hosting WCF on IIS - EndpointNotFoundException在 IIS 上托管 WCF - EndpointNotFoundException
【发布时间】:2013-10-01 02:10:57
【问题描述】:

实现 WCF 服务后,将其托管在 IIS 服务器上,它返回以下错误。

EndpointNotFoundException 未被用户代码处理 没有 在 XXXXX 处侦听可以接受消息的端点。这是 通常由不正确的地址或 SOAP 操作引起。看 InnerException(如果存在),了解更多详细信息。

该服务与 5 个正在运行的服务具有相同的实现和配置,没有错误。

当我试图弄清楚 IIS 服务器上发生了什么时,下面的屏幕截图。

因此,该特定服务似乎没有检测到合同。虽然我使用的是与下面相同的配置。

      <service name="XX.XX.Provisioning.EldaftarManagementService">
        <endpoint address="" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" bindingNamespace="http://XX.XX.com/XX/" contract="XX.XX.Provisioning.Eldaftar.IEldaftarManagementService" />
        <endpoint address="basic" binding="basicHttpBinding" bindingConfiguration="ProvisioningBasicBinding" bindingNamespace="http://XX.XX.com/provisioning/" contract="XX.XX.Provisioning.Eldaftar.IEldaftarManagementService" />
      </service>
<service name="XX.XX.Provisioning.Common.UserManagement.UserManagementService">
        <endpoint address="" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" bindingNamespace="http://XX.XX.com/XX/" contract="XX.XX.Provisioning.Common.UserManagement.IUserManagementService" />
        <endpoint address="basic" binding="basicHttpBinding" bindingConfiguration="ProvisioningBasicBinding" bindingNamespace="http://XX.XX.com/provisioning/" contract="XX.XX.Provisioning.Common.UserManagement.IUserManagementService" />
      </service>

请注意,当访问 service.svc url 时,它会正常回复并显示 wsdl。这意味着它可以在 IIS 上正常托管。

我错过了什么吗?

更新:

客户端配置。

 <endpoint address="https://XXX/EldaftarManagementService.svc" behaviorConfiguration="ProvisioningClientBehaviour" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" contract="EldaftarManagementService.IEldaftarManagementService" />
 <endpoint address="https://XXX/UserManagement.svc" behaviorConfiguration="ProvisioningClientBehaviour" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" contract="UserManagementService.IUserManagementService" />

【问题讨论】:

  • 尝试刷新您的参考。服务中可能存在未在您的客户端中处理的更改。
  • 看来问题出在客户端。在客户端发布配置文件值以检查它们是否与服务器上的匹配会很有用。
  • 检查合约的命名空间。是 XX.XX.Provisioning.Eldaftar 吗?
  • 检查你的合约接口是否与客户端匹配。
  • @mrtig,检查更新的问题。

标签: c# asp.net wcf iis


【解决方案1】:

我注意到在重新配置我的服务引用后,客户端配置获取带有服务器名称的 wsdl。然后我得到 EndpointNotFoundException 异常。

例子:

服务参考是:http://192.168.61.2:1111/Service1.svc

但在配置端点地址中显示:http://serverName:1111/Service1.svc

在我用服务引用地址更改配置端点地址后,它就解决了。不知道为什么,但是现在每次我重新配置端点地址时,我都会手动更改配置端点地址以确保它获得相同的地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    相关资源
    最近更新 更多