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)
我不知道它是否会解决你的问题,但我想我应该在这里分享我对类似问题的经验.
我得到了一个几乎类似的错误:
扩展元素'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,可以添加服务参考然后!! 然后在添加引用之后我再次取消注释该部分.
我无法解释.它对我有用,这就是我分享的原因.谢谢.