我正在尝试将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项目中。
答案 0 :(得分:1)
在System.ServiceModel的Silverlight 4(WP7)版本中不存在WCF行为概念。
您需要在其他位置指定DataContractSerializer选项(在另一个配置部分或代码中)
客户端/端点上的behaviorConfiguration也是如此。
参考此MSDN以获取配置描述: http://msdn.microsoft.com/en-us/library/dd540827(v=vs.95).aspx