Внедрение системы чата: где хранить данные чата? - PullRequest
6 голосов
/ 11 сентября 2009

Я внедряю систему чата в asp.net, очень похоже на чат Google, и я использую xmhttp для отправки и получения данных, и я использую одну таблицу для хранения всего чата для всех пользователей.

iхотел создать глобальные временные таблицы в sql, используя XMLHttpRequest, чтобы иметь возможность лучше организовать данные (вместо того, чтобы хранить весь чат в таблице sigle, что может (я не знаю точно) вызвать проблемы с блокировкой, когда многие пользователи обращаются к нему.)

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

но после того, как таблица была создана Xmlhttprequest, она отбрасывается сразу после ее создания ... почему это происходит, я не знаю .... я также удалил все строки закрытия соединения, но все равно не повезло

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

Ответы [ 2 ]

1 голос
/ 11 сентября 2009

Ваша таблица не будет иметь проблем с блокировкой, так как многие пользователи обращаются к ней. Временные таблицы не предназначены для совместного перекрестного вызова, и вы будете сталкиваться с гораздо большим количеством препятствий на этом пути. Вероятно, лучше просто сохранить ваши данные в таблице, а затем опросить таблицу.

Единственный раз, когда у вас могут возникнуть "проблемы с блокировкой", это если пользователи пытаются одновременно записать один и тот же кусок данных в одну и ту же строку ... что не должно происходить в приложении чата. *

Кроме того, Google Chat использует реализацию в стиле COMET вместо реализации опроса. По моему опыту, COMET> опрос с точки зрения пользовательского опыта.

0 голосов
/ 19 декабря 2009

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

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