在包含webHttp和wsHttp的VS2010中添加服务引用时出错

Chr*_*ris 3 service wcf reference

我正在创建一个带有wsHttp和JSON端点的web服务.下面的配置托管在一个网站项目中工作正常,除非我尝试在网站上创建服务引用.端点行为似乎导致错误:

"扩展错误'webHttp'无法添加到此元素.验证异常是否在system.servicemode/extensions/behaviorExtensions的扩展集合中注册"

它不会在svcUtil.exe中引发错误.看起来VS具体,但我想深究它.

 <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="JSON">
          <webHttp />
        </behavior>
      </endpointBehaviors>
        <serviceBehaviors>
            <behavior name="HelloWorldBehavior">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <services>
        <service behaviorConfiguration="HelloWorldBehavior" name="HelloWorld">
          <endpoint address="/json" behaviorConfiguration="JSON"
            binding="webHttpBinding" contract="IHelloWorld" >
            </endpoint>
          <endpoint name="wcf"  address="" binding="wsHttpBinding"
          contract="IHelloWorld" />
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        </service>
    </services>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

Saj*_*ood 5

我不知道它是否会解决你的问题,但我想我应该在这里分享我对类似问题的经验.

我得到了一个几乎类似的错误:

扩展元素'webHttp'无法添加到此元素中.验证扩展是否已在system.servicemodel/extensions/behaviorExtensions的扩展集合中注册.

错误信息

我尝试了很多东西来解决这个问题但却做不到.然后我从这个页面找到了关于类似问题的这个建议:

检查您的客户端(ASP.NET MVC)配置并注释使用的WCF端点行为<enableWebScript />.然后添加您的服务引用并取消注释该行为.如果要更新现有脚本引用,则必须执行相同的过程.我想这是一个错误,应该报告给Microsoft Connect.

我的不是ASP.NET MVC,但是我通过评论来尝试了这个建议

<behavior name="web">
          <webHttp />
        </behavior>
Run Code Online (Sandbox Code Playgroud)

这部分来自我的app.config,可以添加服务参考然后!! 然后在添加引用之后我再次取消注释该部分.

我无法解释.它对我有用,这就是我分享的原因.谢谢.