关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
4年前关闭。
Improve this question
我正在开始一个新项目,它将使用 HTML5 Canvas 呈现复杂的图形。
目前,我们有一个 Windows 窗体实现,我们希望将其迁移到 Web。因此,布局、绘图对象和所有绘图元数据都是在 C# 中生成的。我们只需要实现绘图,我们将使用 HTML5 Canvas 。
服务器端将是 ASP MVC。它将计算绘图模型,并将其发送给客户端。然后客户端将使用 Canvas 来表示数据。
问题是绘图模型有时可能很大。也许 10Mb-50Mb 的元数据。将所有绘图数据从服务器发送到客户端的最佳方式是什么?
将模型用于在 JavaScript 中创建绘图对象的页面中的脚本
这将是标准方式。我将使用 C# 中的绘图对象生成一个模型,然后将这些对象转换为 JavaScript。
从返回绘图数据的 Controller 返回 JsonResult
例如,我可以使用 jQuery 来获取它。此选项失败,因为我达到了 maxJsonLength 属性。我知道它可以在 web.config 中更改,但这似乎不是一个好主意。 3.
使用服务器中的绘图数据生成临时脚本文件并将其包含在客户端页面中
服务器会生成一个JS脚本文件中的绘图数据。然后服务器会将这个页面作为 JavaScript 包含在客户端页面中,因此绘图数据将被加载到客户端中。这种加载也可以使用 ajax 来完成。
其他选择
任意 欢迎其他选择 ,因为我不是 HTML 编程方面的专家。
最佳答案
我认为我会采取一些不同的方法。我将使用 servicestack ,在这里我假设您已将您的商业轮胎分开。现在,我将使用 backbone js 而不是 Canvas 或 angular js .还有很多其他的 UI 生成框架。现在,使用 require js 之类的库,我只推送 UI 生成所需的详细信息,或者使用 UI 所需的 UI 推送 HTML。所以,这里的速度会更快,页面会更轻。一旦缩小的 Javascript 到达客户端,它将不会加载,而仅用于计算和呈现页面上的 html 部分。单页应用程序将与桌面一样快。差不多就这么多了。我希望这对你有用。我已经添加了链接,如果您需要更多详细信息,请告诉我。
关于javascript - 将大量数据从 Web 服务器传输到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607715/