2

現在、HTML5 キャンバスを使用してオンライン描画プログラムをプログラムしようとしています。

問題は、現在のキャンバスをグローバルに保存する必要があるということです。静的変数は機能しますが、Webgarden 全体で共有されません。これにより、2 つの異なる図面が作成されます。

どうにかして、共有される新しいアプリケーション オブジェクトを作成する必要があります。それらを保持する外部アプリケーションが必要になると考えました。

1) アプリケーション オブジェクトを自分のものに置き換えるにはどうすればよいですか?

そのため、独自のプログラムを作成してリモート処理で呼び出すか、アプリケーション変数に ASP.NET セッション状態サーバーを使用する必要があります。ただし、私はセッション状態サーバーを好みます。

2) 自分の変数にセッション状態サーバーを使用するにはどうすればよいですか? どうすればアクセスできますか?

私はインターネットで高低を検索しましたが、上記のアイデアしか見つかりませんでしたが、それらを実行する助けはありませんでした.

私は主に VB.NET でコーディングしていますが、例として C# コードも理解できます。

私のアプリケーションに関するちょっとした情報:

クライアント側には、2 つのキャンバス オブジェクトが重なり合っています。上部のキャンバス オブジェクトは描画に使用され、その下のキャンバス オブジェクトは最終的に描画を保持します。

何かが描画されると、base64 表現でサーバーに送信されます。(getDataUri)

サーバーは、Graphics オブジェクトを介して、格納されている Bitmap オブジェクトの上にこのグラフィックを配置します。

変更が他のクライアントにどのように配布されているか、現在取り組んでいます。全体像を転送するか、提出されたすべての変更を転送します。これは、サーバー プッシュを通じて機能するはずです。これが完全に機能しない場合は、変更を保存してタイムスタンプする必要があります。

現在、サーバーから変更を取得していない現在の実装へのリンク (ただし、変更はサーバーに転送されます... 1 つのインスタンスに到達するものと、Webgarden のいずれかの w3wp で別のインスタンスに到達するものがあるという問題があります) は、次のとおりです: http ://anno.sinni800.ath.cx/Canvas/Collab

4

1 に答える 1

3

もう 1 つのオプションは、memcached などの分散キャッシュを使用することです。

Windows 用 Memcached
asp.net で Memchached を使用する

于 2010-01-12T17:27:25.843 に答える