使用HTML5的ASP.NET服务器端逻辑和客户端2D可视化

时间:2012-05-02 20:08:12

标签: asp.net json html5 client-side

我正在为一个即将开始的项目做一些研究,并希望对我在这里有哪些选项有所了解。

基本上,这或多或少都应该如何运作: 用户应该能够绘制某些形状,如多边形,并基于不同的属性,例如形状的位置等,计算 正在服务器端执行,结果将发送回客户端。

我有一个.NET类库,它包含形状的类表示(圆形,多边形,线条等)以及所需的所有计算。 所有这些都包含在项目类中并序列化到数据库中,因为用户应该能够登录,保存他的工作,在另一个时间点加载它 并继续。

所有绘图都应该在客户端上使用HTML5 Canvas和JavaScript完成,业务逻辑,例如计算在服务器端完成。 我需要解决的问题是客户端和服务器之间的双向通信和复杂(多态)对象的共享,我想避免使用一个.NET形状类和一个JavaScript形状类,因为它会产生结果在冗余代码中。

一种可能的解决方案是序列化&将类反序列化为JSON。但是,这些类包含大量数据(大多数数据对客户端来说并不重要),并且意味着很多数据来回传输。这可以使用DTO类来解决,但后来我又回来了两个包含公共信息的类。

还有其他解决方案/技术吗? 任何人都有这种问题的经验吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

鉴于您使用的是ASP.NET(而不是MVC),我认为将 DataContract / DataMember 属性添加到现有的.NET类中是首选方法,以及面向客户端的WCF服务。这样,您可以将现有类序列化为JSON,但仍然选择要序列化的属性。

如果你不熟悉数据合同/ WCF / AJAX的东西,这个网站有一些很好的起点:http://wcf.codeplex.com/