【问题标题】:What are the reasons that cause ServiceActivationException?导致 ServiceActivationException 的原因是什么?
【发布时间】:2012-07-05 12:38:46
【问题描述】:

我有一个托管在 Azure 环境中的服务。我正在使用控制台应用程序使用该服务。这样做时,我得到了异常:

"请求的服务, 'http://xxxx-d.yyyy.be/Services/zzzzInService.svc' 不能是 活性。有关更多信息,请参阅服务器的诊断跟踪日志 信息。”

谁能帮我找到我缺少的东西?

服务是这样定义的——

<service name="xxxx.AppServer.Host.Services.yyyyy.zzzzPlugInService"
   behaviorConfiguration="MetadataBehavior" xdt:Locator="XPath(//service[@name='xxxx.AppServer.Host.Services.yyyy.zzzzPlugInService'])" xdt:Transform="Replace">

<endpoint address="" binding="basicHttpBinding"  bindingConfiguration="basicHttpBinding" contract="xxxx.Shared.IntegrationServices.yyyy.IzzzzPlugInService">
  <identity>
    <dns value="localhost"/>
  </identity>
</endpoint>
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpsBinding" contract="xxxx.Shared.IntegrationServices.yyyy.IzzzzPlugInService">
  <identity>
    <dns value="localhost"/>
  </identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

当我在浏览器中使用链接 http://xxxx-d.yyyy.be/Services/zzzzInService.svc 时,我会收到这些消息 -

system.serviceModel/bindings/basicHttpBinding 的绑定没有 有一个名为“basicHttpBinding”的已配置绑定。这是无效的 bindingConfiguration 的值。

来源:

<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding" contract="xxxx.Shared.IntegrationServices.zzzzz.IzzzzPlugInService">

【问题讨论】:

  • 当您在浏览器中导航到 xxx.svc 时,您是否看到更好的错误信息?

标签: wcf


【解决方案1】:

错误表明您没有名为“basicHttpBinding”的“basicHttpBinding”绑定配置。由于您没有发布完整的配置,并且错误消息说,我假设是这种情况。

下面的配置(在&lt;system.serviceModel&gt; 下)在&lt;basicHttpBinding&gt; 下有两个绑定定义,一个用于端点声明中的每个绑定配置。你的配置中也应该有类似的东西。

<services>
    <service name="xxxx.AppServer.Host.Services.yyyyy.zzzzPlugInService"
             behaviorConfiguration="MetadataBehavior"
            xdt:Locator="XPath(//service[@name='xxxx.AppServer.Host.Services.yyyy.zzzzPlugInService'])"
            xdt:Transform="Replace">
        <endpoint address=""
                  binding="basicHttpBinding" 
                  bindingConfiguration="basicHttpBinding"
                  contract="xxxx.Shared.IntegrationServices.yyyy.IzzzzPlugInService">
            <identity>
                <dns value="localhost"/>
            </identity>
        </endpoint>
        <endpoint address="" 
                  binding="basicHttpBinding" 
                  bindingConfiguration="basicHttpsBinding" 
                  contract="xxxx.Shared.IntegrationServices.yyyy.IzzzzPlugInService">
            <identity>
                <dns value="localhost"/>
            </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    </service>
</services>
<bindings>
    <basicHttpBinding>
        <binding name="basicHttpBinding" />
        <binding name="basicHttpsBinding">
            <security mode="Transport" />
        </binding>
    </basicHttpBinding>
</bindings>

【讨论】:

    【解决方案2】:

    我在从 Visual Studio 2013 调试时遇到了这个异常。我重新启动了 Visual Studio,它工作正常。我认为 Visual Studio 保留了之前调试会话中的一些坏东西。

    【讨论】:

      【解决方案3】:

      其他原因之一可能是您的 svc.cs 文件中有重复或重载方法

      【讨论】:

        【解决方案4】:

        我也遇到了同样的问题。我添加了一些无法运行的依赖注入。修复它,wcf 服务器可以再次运行

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-29
          • 1970-01-01
          • 1970-01-01
          • 2011-09-06
          • 2020-09-02
          • 2019-02-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多