将行为元素添加到我的WCF客户端配置时出现问题

时间:2011-02-24 23:22:37

标签: .net wcf windows-phone-7 config

我正在尝试将behavior元素添加到我的客户端配置文件中,因此我可以指定maxItemsInObjectGraph。

我得到的错误是:元素'system.serviceModel'具有无效的子元素'behavior'。预期可能元素列表:'绑定,客户端,扩展'。

这是我的配置:

<configuration>

  <system.serviceModel>

    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_KernService" 
          maxBufferSize="2147483647"
          maxReceivedMessageSize="2147483647">
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>

    <behaviors>
      <endpointBehaviors>
        <behavior name="ServiceViewEventBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>

    <client>
      <endpoint address="http://localhost/KernMobile.WCF/KernService.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_KernService"
        contract="KernWcfService.KernService" name="BasicHttpBinding_KernService"
        behaviorConfiguration="ServiceViewEventBehavior" />
    </client>

  </system.serviceModel>

</configuration>

它还抱怨端点元素中的behaviorConfiguration属性。

有什么想法吗? .Net 4.0 BTW。

编辑:我还应该指出这是在WP7项目中。

1 个答案:

答案 0 :(得分:1)

在System.ServiceModel的Silverlight 4(WP7)版本中不存在WCF行为概念。

您需要在其他位置指定DataContractSerializer选项(在另一个配置部分或代码中)

客户端/端点上的behaviorConfiguration也是如此。

参考此MSDN以获取配置描述: http://msdn.microsoft.com/en-us/library/dd540827(v=vs.95).aspx