我目前正在尝试使用 HTML5 画布编写一个在线绘图程序。
问题是,我需要将当前画布保存在全球某处。静态变量可以工作,但它们不会在 Webgarden 中共享。这会导致创建两个不同的图纸。
我将不得不以某种方式创建一个共享的新应用程序对象。我想我需要一个外部应用程序来保存它们。
1)如何用我自己的替换应用程序对象?
因此,要么我必须制作自己的程序并通过远程处理调用它,要么将 ASP.NET 会话状态服务器用于应用程序变量。不过,我更喜欢 Session State Server。
2) 我如何将会话状态服务器用于我自己的变量?我如何访问它?
我在互联网上搜索了高低,只找到了上面提到的想法,但没有帮助执行它们。
我主要在 VB.NET 中编写代码,但我也可以理解 C# 代码作为示例。
关于我的应用程序的一些信息:
客户端有两个相互重叠的画布对象。我们用于绘制东西的顶部画布对象,它下面的画布对象最终保存了绘图。
当绘制某些东西时,它会以其 base64 表示形式发送到服务器。(getDataUri)
服务器通过 Graphics 对象将此图形放在存储的 Bitmap 对象之上。
如何将更改分发给其他客户,我现在正在处理这个问题。我要么传输完整的图片,要么传输提交的每一个更改。这应该通过服务器推送工作。如果这不能彻底工作,我将不得不保存和时间戳更改。
当前实现的链接,当前未获取更改(但它们被转移到服务器......问题是一些到达一个实例,一些到达另一个实例在 webgarden 中的 w3wp 上)在这里:http ://anno.sinni800.ath.cx/Canvas/Collab