【问题标题】:File-less WCF activation results in "zero application (non-infrastructure) endpoints..." exception无文件 WCF 激活导致“零应用程序(非基础结构)端点......”异常
【发布时间】:2011-07-06 16:05:00
【问题描述】:

我有一个使用无文件激活的 WCF 服务:

  <bindings>
     <basicHttpBinding>
        <binding transferMode="Streamed">
           <security mode="Transport"/>
        </binding>
     </basicHttpBinding>
  </bindings>

  <serviceHostingEnvironment multipleSiteBindingsEnabled="true">
     <serviceActivations>
        <add relativeAddress="RulesService.svc"
             service="Big.Company.RulesService.Service, RulesService" />
     </serviceActivations>
  </serviceHostingEnvironment>

在某些机器上,我看到以下异常:

服务 'Big.Company.RulesService.Service' 有 零应用(非基础设施) 端点。这可能是因为没有 为您找到了配置文件 申请,或者因为没有服务 与服务名称匹配的元素 可以在配置中找到 文件,或者因为没有端点 在服务元素中定义。

据我所知,.svc 已正确映射到 .NET 4.0 激活模块。该应用程序位于“ASP.NET v4.0”应用程序池中,该应用程序池为 .NET v4.0 配置,使用集成管道。

如果我删除 Web.config 文件,我会收到 404 错误。如果我重命名 bin\RulesService.dll 文件,我会收到“未找到服务”异常。

这有什么问题?

更新:开启 SSL 时出现问题。如果我使用 HTTPS 连接,那很好,直到我在 IIS 中打开“需要 SSL”

【问题讨论】:

  • 您的托管 AppPool 是否配置为使用 .NET 4.0?这很可能是在您的新环境中未使用 .NET 4.0 的问题。
  • 仍然没有这个工作。重新映像测试盒并更改产品的最低要求...

标签: wcf iis-7 .net-4.0


【解决方案1】:

使用 Reflector 的一个下午将我带到了 ConfigLoader.AddDefaultEndpoints 方法,该方法查看配置文件的 ProtocolMappingSection 以确定要添加哪些默认端点。

HTTPS 似乎没有隐式设置此部分。

我通过将以下内容添加到我的 Web.config 文件中解决了它(something I'd seen earlier in the day 的提示):

<protocolMapping>
   <add scheme="https" binding="basicHttpBinding"/>
   <add scheme="http" binding="basicHttpBinding"/>
</protocolMapping>

【讨论】:

    【解决方案2】:

    我的服务在 IIS 中只有一个 HTTPS 绑定,添加一个 http 绑定解决了我的问题。无需任何文件配置。

    (对不起法国的截图 )

    将以下内容添加到配置文件并删除 IIS 中的 http 绑定也解决了我的问题。

    <protocolMapping>
       <add scheme="https" binding="basicHttpBinding"/>
    </protocolMapping>
    

    【讨论】:

      【解决方案3】:

      我在工作中遇到了同样的问题,这是一个权限问题。

      【讨论】:

        猜你喜欢
        • 2012-04-06
        • 2011-01-20
        • 2011-05-16
        • 1970-01-01
        • 2019-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多