В настоящее время я пытаюсь запрограммировать онлайн-программу для рисования, используя холст 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