boucle méthode Web jusqu'à ce que les données se trouve, puis retour du service Web pour une application dans le chat en asp.net

StackOverflow https://stackoverflow.com/questions/2310714

Question

Je dois mettre en œuvre le style gmail bavarder dans mon site asp.net. maintenant je sais que beaucoup a été dit à cet égard ici et d'autres forums ... à propos COMET et ses .... il sied à

je l'ai vu récemment ce site www.indyarocks.com et quand je leur site PROFILES j'ai trouvé que pour le chat, ils envoient une demande async et la page attend jusqu'à ce que le serveur a des données pour revenir et seulement après le retour de la page .. .. (je veux dire, il indique l'état 200 OK) et à nouveau une demande est distribué.

J'ai implemeted le chat dans mon site où je Pöll la base de données après 5 secondes pour tout nouveau chat ... donc je veux savoir si j'envoie une requête en utilisant ASP.NET AJAX à une méthode Web et continuer à boucle sur le serveur jusqu'à ce qu'il ait des données pour revenir, puis revenir à la page Web qui l'a appelé est une bonne approche et sinon quels sont ses inconvénients ????

le code que je peux utiliser

<WebMethod(EnableSession:=True)> _
    Public Function looper(ByVal x As String) As String
        Dim flag As Boolean = False
        While (flag = False)
            Dim ans As String = getScalar("select 1 from Chat where sent_by=1")
            If Not ans Is Nothing Then
                flag = True
            End If
        End While
        Return "x"
    End Function

Ici, je peux boucler sur le serveur jusqu'à ce qu'il ait des données

en tout cas, est-il mieux que le approche de vote ????

Quelqu'un at-il des suggestions pour améliorer cette approche ???

Était-ce utile?

La solution

Il est préférable que l'approche du scrutin du côté client

Pourquoi , parce que

  • Il évite aller-retour du serveur - permet d'économiser beaucoup de temps
  • Et éviter les appels unnessary vers le serveur (approche du scrutin appelle le webmethod même si les données ne sont pas disponibles)

D'autre part, votre approche COMET actuelle, les appels de serveur sont minimes de javascript parce que la nouvelle demande soit faite uniquement du client si le serveur renvoie les données mises à jour.

Alors continuez avec la conception actuelle

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top