2009-11-27 27 views
1

我現在整天都有這個奇怪的問題。我不知道你是否處理過類似的事情。 我使用了兩個不同的序列化程序,現在我知道它沒有這個問題。我想通過TCP套接字發送一些數據。序列化 - >發送 - >反序列化, 一切正常,我可以讓我的對象搜索他們,使用他們的屬性! 但是,如果例如收到BusinessObject[]並轉換爲List<BusinessObject>,則將 綁定到Control.DataSource = businessObjectList; BOOM! NotSupportedExceptionTCP接收後綁定數據

試過它 與3個不同的控制。同樣的行爲。我的頭目前沒有想法! 發送TCP發生在桌面框架上,在Compact Framework上接收。但我不認爲 這與任何事情有關。

我希望對此有所解釋!

+0

異常中是否有更多細節?一個字符串消息?並且相同的數據綁定方法在常規/ winforms中工作嗎? – 2009-11-27 16:50:12

+0

兄弟我認爲我發現,很快你會定期winfors SAI,我創建一個和綁定在DataGridView,然後我得到的細節,我沒有得到在精簡版框架,我應該安裝信息包(不記得名稱),它的一個跨線程操作無效:控制「網格」從一個線程訪問,而不是它創建的線程。我想這是錯誤,我會嘗試修復。任何關於處理交叉線程和綁定控件的想法?我知道與委託解決方案,但我打開建議和最新的解決方案! – 2009-11-27 16:58:17

回答

0

重新線程錯誤...只是不要嘗試從錯誤的線程綁定!您必須切換回UI更新的主線程,對不起。正如它發生我過去使用了一個跨線程安全列表(因爲無論多線程變異同一個列表「安全」有什麼意義......它會在UI線程上引發通知事件,我的意思是) - 但它肯定不會在CF上工作。

+0

反正馬克:)我想我會留在Control.InvokeRequired,會很好的處理數據之前,我把它們從數據庫中傳出來,但我也看到了不工作的解決方案,我發現的影響! – 2009-11-30 00:11:53