导致ServiceActivationException的原因是什么?

时间:2012-07-05 06:17:53

标签: wcf

我有一个托管在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">

4 个答案:

答案 0 :(得分:2)

错误表示您没有名为“basicHttpBinding”的“basicHttpBinding”的绑定配置。由于您没有发布完整的配置,并且错误消息显示,我会假设情况属实。

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

<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>

答案 1 :(得分:0)

我从Visual Studio 2013调试时遇到此异常。我重新启动了Visual Studio,它运行正常。我认为Visual Studio在之前的调试会话中持有一些不好的东西。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我只是遇到了同样的问题。我添加了一些无法运行的依赖项注入。修复了该问题,并且wcf服务器可以运行agian