2011-02-24 56 views
0

我正在嘗試將行爲元素添加到我的客戶端配置文件中,以便我可以指定maxItemsInObjectGraph。將行爲元素添加到我的WCF客戶端config問題

我得到的錯誤是:元素'system.serviceModel'具有無效的子元素'行爲'。預期可能的元素列表:'綁定,客戶端,擴展'。

這裏是我的配置:

<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

我想你指的錯誤在Visual Studio錯誤列表出現。正確? – 2011-02-24 23:36:26

+0

我在編輯器中看到一條彎曲的藍線,當我將鼠標懸停時,錯誤出現在工具提示中。如果我運行該應用程序,則會在服務客戶端構造函數中引發無效的操作失敗:無法識別的元素「行爲」。 – 2011-02-25 00:26:51

回答

1

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

你需要在其他地方指定DataContractSerializer的選項(在另一配置部分或代碼)

也是一樣behaviorConfiguration客戶端/端點。

參考MSDN的爲配置說明: http://msdn.microsoft.com/en-us/library/dd540827(v=vs.95).aspx

+0

指向我如何在代碼中執行此操作的指針? – 2011-02-25 01:35:30

+0

你需要嗎?在Silverlight中,它默認爲Int.MaxValue – 2011-02-25 01:50:28

+0

如果嘗試手動更新,我錯過了這一點。謝謝! – 2011-02-25 02:21:40