簡體   English   中英

使用HTML5的ASP.NET服務器端邏輯和客戶端2D可視化

[英]ASP.NET server-side logic and client-side 2D visualization with HTML5

我正在為一個即將開始的項目做一些研究,希望就我在這里的選擇有一些意見。

基本上,這或多或少是它應該如何工作的:用戶應該能夠繪制某些形狀(例如多邊形)並基於不同的屬性(例如形狀的位置等),在服務器端進行計算並獲得結果被發送回客戶端。

我有一個.NET類庫,其中包含形狀(圓形,多邊形,直線等)的類表示形式以及所需的所有計算。 所有這些都包裝在項目類中並序列化到數據庫中,因為用戶應該能夠登錄,保存其工作,在其他時間點加載它並繼續。

所有繪圖應在客戶端使用HTML5 Canvas和JavaScript進行,而業務邏輯(如計算)則在服務器端進行。 我需要在這里解決的問題是客戶端和服務器之間的雙向通信和復雜(多態)對象的共享,我想避免使用一個.NET形狀類和一個JavaScript形狀類,因為這樣會導致以冗余代碼。

一種可能的解決方案是將類序列化和反序列化為JSON。 但是,這些類包含相當多的數據(其中大多數對於客戶端而言並不重要),並且意味着大量數據來回傳輸。 可以使用DTO類解決此問題,但隨后我又回到了兩個包含公共信息的類。

這里還有其他解決方案/技術嗎? 任何人都有處理此類問題的經驗嗎?

提前致謝。

鑒於您使用的是ASP.NET(而不是MVC),我認為將DataContract / DataMember屬性添加到現有的.NET類中以及與面向客戶端的WCF服務一起使用是一種方法。 這樣,您可以將現有的類序列化為JSON,但仍選擇要序列化的屬性。

如果您不熟悉數據合同/ WCF / AJAX內容,則此站點有一些不錯的起點: http : //wcf.codeplex.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM