首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF endPointBehavior中有什么可以取消metaData暴露吗?

WCF endPointBehavior中有什么可以取消metaData暴露吗?
EN

Stack Overflow用户
提问于 2013-01-05 00:22:22
回答 1查看 495关注 0票数 0

这是我的web.config文件:

代码语言:javascript
复制
<bindings>
  <basicHttpBinding>
    <binding 
      name="ExtremeBinding" 
      maxBufferSize="12354000" 
      maxReceivedMessageSize="12354000" />
  </basicHttpBinding>
</bindings>

<services>
  <service name="WcfService3.Service1" behaviorConfiguration="myServiceBehaviour">
    <endpoint 
      address="" 
      binding="basicHttpBinding" 
      bindingConfiguration="ExtremeBinding"
      contract="WcfService3.IService1" 
      behaviorConfiguration="epBehavior"/>
  </service>
</services>

<behaviors>
  <endpointBehaviors>
    <behavior name="epBehavior">

    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="myServiceBehaviour">
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpGetEnabled="true"/>
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

如果我像这样保存它,并运行WCF测试客户端,一切都会正常工作。

但是如果我在endPoint行为中添加任何东西,例如:

代码语言:javascript
复制
    <behavior name="epBehavior">
      <callbackDebug includeExceptionDetailInFaults="true"/>
    </behavior>

WCF测试客户端失败,并显示以下错误:

代码语言:javascript
复制
Failed to add a service. Service metadata may not be accessible. Make sure your service is running and exposing metadata.

属性中放入什么似乎并不重要。例如:

代码语言:javascript
复制
<behavior name="epBehavior">
    <webHttp/>
</behavior>

我很清楚我遗漏了一些基本的东西,但我不知道它是什么。非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2013-01-05 01:02:59

我不知道发生这种情况的确切原因,但我认为您可以通过添加serviceMetadata行为来解决此问题:

代码语言:javascript
复制
<behaviors>
 <serviceBehaviors>
  <behavior name="NewBehavior">
    <serviceMetadata httpsGetEnabled="true" 
     httpsGetUrl="https://myComputerName/myEndpoint" />
  </behavior>
 </serviceBehaviors>
</behaviors>

来自:http://msdn.microsoft.com/en-us/library/ms731317.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14160835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档