Глобальные переменные приложения для Webgarden - PullRequest
2 голосов
/ 12 января 2010

В настоящее время я пытаюсь запрограммировать онлайн-программу для рисования, используя холст HTML5.

Дело в том, что мне нужно сохранить текущий холст где-нибудь по всему миру. Статические переменные работают, но они не передаются через Webgarden. Это приводит к созданию двух разных рисунков.

Мне придется каким-то образом создать новый объект приложения, который будет использоваться совместно. Я подумал, что мне понадобится внешнее приложение, содержащее их.

1) Как заменить объект приложения своим собственным?

Так что либо мне придется создать собственную программу и вызывать ее с удаленным доступом, либо использовать сервер состояния сеанса ASP.NET для переменных приложения. Я предпочитаю Session State Server, хотя.

2) Как я могу использовать сервер состояний сеанса для своих собственных переменных? Как мне получить к нему доступ?

Я искал в интернете все выше и ниже и нашел только идеи, упомянутые выше, но не смог их реализовать.

В основном я пишу код на VB.NET, но я также могу понять код C # для примеров.

Небольшая информация о моем приложении:

На стороне клиента есть два объекта Canvas друг над другом. Верхний объект холста, который мы использовали для рисования, объект холста под ним содержит рисунок в конце.

Когда что-то рисуется, оно отправляется на сервер в своем представлении base64. (GetDataUri)

Сервер помещает эту графику поверх сохраненного объекта Bitmap через объект Graphics.

Как изменения распространяются на других клиентов, я сейчас над этим работаю. Либо я передаю полную картину, либо каждое и каждое внесенное изменение. Это должно работать через Server Push. Если это не сработает, мне придется сохранить изменения и метки времени.

Ссылка на текущую реализацию, которая в настоящее время не извлекает изменения (но они передаются на сервер ... С проблемой, что некоторые достигают одного экземпляра, другие достигают другого на любом w3wp в веб-садике) с сервера здесь: http://anno.sinni800.ath.cx/Canvas/Collab

1 Ответ

3 голосов
/ 12 января 2010

Другой вариант - использовать распределенный кеш, такой как memcached.

Memcached для Windows
Использование Memchached с asp.net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...