0

まもなく開始されるプロジェクトのためにいくつかの調査を行っており、ここでどのようなオプションがあるかについて意見を求めています。

基本的に、これは多かれ少なかれそれがどのように機能するかです: ユーザーは、多角形のような特定の形状を描画し、形状の位置などのさまざまなプロパティに基づいて描画できる必要があります。サーバー側で計算が実行され、結果が得られます。クライアントに返送されます。

図形 (円、多角形、線など) のクラス表現と必要なすべての計算を含む .NET クラス ライブラリがあります。ユーザーはログインして作業を保存し、別の時点でそれをロードして続行できる必要があるため、これはすべてプロジェクト クラスにまとめられ、データベースにシリアル化されます。

すべての描画は HTML5 Canvas と JavaScript を使用してクライアントで実行する必要があり、計算などのビジネス ロジックはサーバー サイドで実行されます。ここで解決する必要がある問題は、クライアントとサーバー間の双方向通信と複雑な (ポリモーフィック) オブジェクトの共有です。冗長コードで。

考えられる解決策の 1 つは、クラスを JSON にシリアライズおよびデシリアライズすることです。ただし、クラスにはかなりの量のデータが含まれており (そのほとんどはクライアントにとって重要ではありません)、大量のデータがやり取りされます。これは、DTO クラスを使用して解決できますが、共通の情報を含む 2 つのクラスを持つことになります。

ここで使用する他のソリューション/テクニックはありますか? この種の問題を経験したことのある人はいますか?

前もって感謝します。

4

1 に答える 1

0

ASP.NET(MVCではなく)を使用していることを考えると、既存の.NETクラスにDataContract / DataMember属性を追加することが、クライアント向けのWCFサービスとともに進むべき道だと思います。このようにして、既存のクラスをJSONにシリアル化できますが、シリアル化するプロパティを選択することもできます。

データコントラクト/WCF/ AJAXに精通していない場合は、このサイトにいくつかの良い出発点があります: http ://wcf.codeplex.com/

于 2012-05-03T06:55:32.363 に答える