2010-04-08 142 views
2

我使用hessian協議來進行服務器(java)和各種客戶端應用程序之間的通信。現在我開始開發Windows Phone 7客戶端。我下載了粗體C#實現,但它不能編譯爲Windows Phone 7/Silverlight。Windows Phone 7/Silverlight上的Hessian?

有沒有人設法使WP7/Silverlight的工作?看起來好像有很多事情要做/改變才能實現,如果已經有人完成了,我想避免這種做法。

謝謝。

+0

你好邁克爾,介意分享你的WP7/silverlight實現? 感謝, 泰羅 – 2011-02-23 07:15:33

+0

泰羅你好,對不起,我不能,這是我的工作做,所以這段代碼的所有權利屬於我的老闆,所以我不能分享:( – Michal 2011-07-04 20:23:10

回答

1

因此,答案是你必須重寫粗體C#實現,因爲Silverlight 4沒有很多來自.net移動框架,主要是代理類的東西。

1

這是什麼不編譯?我猜測實現可能使用套接字。請記住,Silverlight(以及wp7)會限制您可以打開的網絡連接的類型...偏好異步Web請求(通過WebRequest類)或WCF服務。

您下載的代碼有可能在手機/ silverlight上提供的網絡類的緊湊框架版本中出現問題。如果您想直接在手機和運行粗麻協議最簡單的方法將通過WCF服務上運行的可能是代理通信的服務器之間進行通信
http://msdn.microsoft.com/en-us/library/cc296248%28VS.95%29.aspx

:請參閱此MSDN文章瞭解有關套接字支持的詳細信息一個asp.net服務器。

+0

建立與WCF另一臺Windows服務器正是我們想要避免的......許多錯誤在那裏..但我已經解決了現在... – Michal 2010-04-14 12:39:24

+0

我明白,你想避免:-)出於好奇,你是如何解決它? – 2010-04-14 14:41:58

+0

我不得不修復代碼。因此,我把包含在下載中的緊湊框架項目包含在內,其中僅包含客戶端必需的類。然後我必須更改CHessianProxy工廠,實現自己的CHessianProxy,重寫CHessianMethodCaller以使用silverlight的異步請求,用List 替換所有ArrayList,用Dictionary 替換所有的Hashtables,並移除對XML類型的支持,因爲沒有XMLDocument和Silverlight中的XMLNode類。並且新的CHEssian代理不是真正的代理,因爲沒有遠程處理和/或反射。所以調用方法非常冗長 – Michal 2010-04-15 10:56:58