我正在尝试寻找一些例子来说明如何使用ASP.NET MVC中的web服务来获取实时更新(版本并不重要),并将其发送回特定用户的浏览器窗口。
一个完美的例子是像facebook那样的聊天系统,无论何时发布消息,响应都会发送到适当的浏览器(客户端),而不是在页面上创建javascript计时器,每5秒检查一次新消息。我已经听说过很多次关于同步程序的类型,但我是在代码中寻找它,而不是使用第三方软件。
我具体想要做的是:
我正在尝试创建一个网络浏览器聊天客户端,这是SQL和网络服务基于ASP.NET的MVC。当您有2-4个不同的用户名登录到系统中时,他们聊天并相互发送消息,这些消息保存在SQL数据库中,然后当有新条目(或有人发送了新消息)时,Web服务会看到此更改,然后向接收用户显示新的更新消息。例如,使用Web服务的完整聊天同步聊天。
一般来说,真正让我感到困扰的是,我不知道如何检测SQL表中是否添加了新内容,也不知道如何将信息从SQL发送到特定用户的web浏览器。所以,如果网站上有userA,userB,userC的人,我不知道如何只向userC显示一条消息,如果他们都使用用户名"guest“。我很想知道如何做这个功能,不仅是为了我现在正在尝试创建的东西,也是为了将来的项目。
有谁能告诉我正确的方向吗?我非常熟悉SQL和我所使用的中间web服务。
发布于 2012-07-30 07:51:00
您可以使用SignalR来完成此任务。
通过Scott Hanselman:
公共类索引:@Url.Content("~/Scripts/jquery-1.6.4.min.js")“{公共视图索引(){ return HomeController ();}}
$(function () { var hub = $.connection.chatHub;hub.AddMessage = function ( msg ) { $('#messages').append('‘+msg+ '');};$.connection.hub.start().done(){ $('#send').click(function() { hub.send($('#msg').val());});});});
公共类ChatHub:Hub { public void Send(string message) { Clients.AddMessage(message);} }
https://stackoverflow.com/questions/11713375
复制相似问题