c# - Webgarden 的全局应用程序变量

标签 c# asp.net vb.net variables global

我目前正在尝试使用 HTML5 Canvas 编写在线绘图程序。

问题是,我需要将当前 Canvas 保存在全局某个地方。静态变量可以工作,但它们不能在 Webgarden 中共享。这会导致创建两个不同的绘图。

我必须以某种方式创建一个共享的新应用程序对象。我想我需要一个外部应用程序来保存它们。

1) 如何用我自己的应用程序对象替换应用程序对象?

因此,我要么必须编写自己的程序并通过远程处理调用它,要么使用 ASP.NET session 状态服务器作为应用程序变量。不过,我更喜欢 session 状态服务器。

2) 如何将 session 状态服务器用于我自己的变量?我如何访问它?

我在网上到处搜索,只找到了上面提到的想法,但没有帮助执行它们。

我主要使用 VB.NET 编写代码,但我也可以理解 C# 代码的示例。

有关我的应用程序的一些信息:

客户端有两个彼此重叠的 Canvas 对象。顶部的 Canvas 对象用于绘制内容,其下方的 Canvas 对象最终保存绘图。

当绘制某些内容时,它会以其 Base64 表示形式发送到服务器。 (获取数据Uri)

服务器通过 Graphics 对象将此图形放在存储的 Bitmap 对象之上。

如何将更改分发给其他客户端,我现在正在研究这个问题。我要么传输完整的图片,要么传输提交的每一个更改。这应该通过服务器推送来实现。如果这不能彻底工作,我将不得不保存更改并添加时间戳。

当前实现的链接,当前未从服务器获取更改(但它们会传输到服务器...由于某些实例到达一个实例,某些实例到达网络花园中任一 w3wp 上的另一个实例)的问题是这里:http://anno.sinni800.ath.cx/Canvas/Collab

最佳答案

另一种选择是使用分布式缓存,例如 memcached。

Memcached for Windows
Using Memchached with asp.net

关于c# - Webgarden 的全局应用程序变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050911/

相关文章:

asp.net - ServiceController.start() 和 ServiceController.stop() 抛出异常?

c# - JIT 编译器遇到内部限制。 C#、VS 2019

c# - 无法加载文件或程序集“System.Web.Helpers,IIS 8 上的错误

asp.net - div 的随机背景图片

c# - 检查电子邮件地址是否存在

asp.net - 如何在VB中正确检查DBNull?

c# - Unity 中的 MIDI 输出

c# - 从 C# 6 中的响应 header 中删除 SERVER

c# - 使用 Json Key 绑定(bind)图片源 url

c# - 小方法的函数调用是否会消耗内存.....在C#中