Looping Web Method até que os dados sejam encontrados e retorne do serviço Web para aplicativo de bate -papo no ASP.NET

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

Pergunta

Eu tenho que implementar o bate -papo no estilo Gmail no meu site do ASP.NET. Agora eu sei que muito foi dito a esse respeito aqui e em outros fóruns ... Sobre o Cometa e seus convém ....

Recentemente, vi este site www.indyarocks.com e, quando perfisi o site deles, descobri que, para conversar, eles enviam uma solicitação assíncrona e a página aguarda até que o servidor tenha alguns dados para retornar e somente após a página retornar .... ( Quero dizer, ele mostra o status 200 ok) e novamente uma solicitação é despachada.

Eu implementei bate -papo no meu site em que eu pesquisei o banco de dados após 5 segundos para qualquer novo bate -papo ... Então, quero saber se enviar uma solicitação usando o ASP.NET AJAX para um método da Web e continue fazendo loop no servidor até Ele tem alguns dados para retornar e depois retornar à página da web que o chamou, é uma boa abordagem e, se não, quais são seus deméritos ????

o código que eu posso usar

<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

Aqui eu posso dar um loop sobre o servidor até que ele tenha alguns dados

De qualquer forma, é melhor do que o abordagem de votação????

Alguém tem sugestões para melhorar essa abordagem ???

Foi útil?

Solução

É melhor do que a abordagem de pesquisa do lado do cliente

Por que, Porque

  • Evita a tira -redonda do servidor - economiza muito tempo
  • E evite chamadas não -neness para o servidor (a abordagem de pesquisa chama o webMethod, mesmo que os dados não estejam disponíveis)

Por outro lado, sua abordagem atual do cometa, as chamadas do servidor são mínimas do JavaScript, porque a nova solicitação será feita apenas do cliente se o servidor retornar os dados atualizados.

Portanto, continue com o design atual

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top