2009-09-11 14 views
6

estoy implementando un sistema de chat en asp.net, muy parecido al chat de google y uso xmhttp para enviar y recibir datos, y estoy usando una sola tabla para almacenar todo el chat para todos los usuarios.Implementación del sistema de chat: ¿dónde almacenar datos de chat?

quería crear tablas temporales globales en sql usando XMLHttpRequest para poder organizar mejor los datos (en lugar de almacenar todo el chat en una tabla única que puede (no estoy seguro) causar problemas de bloqueo cuando muchos los usuarios lo están accediendo)

también para mi sistema no tengo que guardar el chat, así que pensé que una tabla temporal global sería mejor, ya que ya se eliminará y me ahorrará la molestia de borrarla.

pero después de que la tabla ha sido creada por Xmlhttprequest se cae justo después de su creación ... ¿por qué sucede esto? No sé ... también eliminé todas las líneas de cierre de la conexión pero todavía no tuve suerte

¿Qué debo hacer? Además, si alguien sabe de algún recurso en línea que pueda indicarme las mejores prácticas a seguir, por favor dígame.

+0

Si no tiene que almacenar el chat, ¿por qué lo coloca en un DB? Si le preocupa bloquear el aislamiento de instantáneas: http://msdn.microsoft.com/en-us/library/tcbchxcb.aspx – RichardOD

+0

No implemente su propio uso de IRC, Jabber o lo que sea. – reinierpost

Respuesta

1

Su tabla no tendrá problemas de bloqueo cuando muchos usuarios accedan a ella. Las tablas temporales no están pensadas para ser llamadas cruzadas compartidas, y usted terminará con muchos más bloqueos en esa ruta. Probablemente sea mejor simplemente almacenar sus datos en una tabla, luego sondear la tabla.

El único momento en que podría tener "problemas de bloqueo" es si los usuarios intentan escribir el mismo fragmento de datos en la misma fila al mismo tiempo ... lo cual no debería ocurrir en una aplicación de chat.

Además, Google Chat utiliza una implementación de estilo COMET en lugar de una implementación de sondeo. Ha sido mi experiencia que COMET> encuesta en términos de experiencia del usuario.

+0

así que qué debo hacer, dígame cómo puedo manejarlo. – Abhishek

+0

lo siento querida, no sé sobre el estilo COMET, así que por favor cuéntame al respecto. y gracias por responderme. – Abhishek

+0

http://en.wikipedia.org/wiki/Comet_%28programming%29 – RedFilter

0

Se supone que no debe mantener ningún mensaje de chat en su base de datos en realidad ... a menos que implemente mensajes fuera de línea.