我必须在我的 asp.net 网站中实现 gmail 风格的聊天。现在我知道这里和其他论坛在这方面已经说了很多……关于彗星及其好处……
我最近看到了这个网站 www.indyarocks.com,当我分析他们的网站时,我发现他们会发送一个异步请求来聊天,并且页面会一直等待,直到服务器有一些数据要返回,并且只有在页面返回之后......(我的意思是它显示状态 200 OK)并再次发送请求。
我已经在我的网站中实现了聊天,我在 5 秒后轮询数据库以获取任何新的聊天...所以我想知道我是否使用 ASP.NET AJAX 向 Web 方法发送请求并继续在服务器上循环直到它有一些数据要返回,然后返回到调用它的网页,这是一个好方法,如果不是,它的缺点是什么????
我可以使用的代码
<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
在这里我可以遍历服务器,直到它有一些数据
无论如何它比轮询方法更好????
有没有人有改进这种方法的建议???