asp.net(C#)如何自动弹出来自服务器的消息提示(B/S结构) ?
ASP.NET(C#) + Sql Server2000 开发WebForm系统(B/S结构),开发环境vs.net2005
现在想要实现“自动弹出消息提示”的功能,需要满足下面两点要求:
1、假设某一个客户机往表A中插入了一条新的记录,那么其它打开该系统的客户机上就会弹出一个消息提示!
2、客户机打开系统后,每隔一段时间自动检索表A中有没有新的记录,如果有则弹出消息提示。
有做过这种功能的大侠请指点小弟一下,谢谢!
学习,关注……
注:以上两点要求至少能实现第二点的功能。
------解决方案--------------------有一个空降
------解决方案--------------------ajax
------解决方案--------------------我以前做过,不过是在C/S架构下做的,我先是在A表中设置一个Trigger(触发器),然后自动插入到一个临时表,你每次登陆的时候查一下那个临时表。
------解决方案--------------------对,除了AJAX之外,恐怕无法满足你的需要,定时刷新或触发刷新
------解决方案--------------------需要你客户端定期去访问服务器,有消息后,在客户端提示消息
------解决方案--------------------1.用ajax
2.用webservice+xml实现,我有个例子
http://www.szsoftware.com.cn/showsoft.asp?id=5
------解决方案--------------------ajax,实时更新(看起来是实时,呵呵)
------解决方案--------------------ajax实现不错!
------解决方案--------------------利用Ajax 定时轮询
------解决方案--------------------1、假设某一个客户机往表A中插入了一条新的记录,那么其它打开该系统的客户机上就会弹出一个消息提示!
2、客户机打开系统后,每隔一段时间自动检索表A中有没有新的记录,如果有则弹出消息提示。
//类似于csdn的消息通知,在页面中定时的刷新从服务器上获得信息
------解决方案--------------------var count=0;
function RunServerFunction()
{
if(messageClass.getCount()> count)//messageClass为服务器端类名,getCount获取新记录数目
{
JumpMessage();//弹出提示的方法,js可以写,这里忽略.
count=messageClass.getCount();
}
window.setTimeout(RunServerFunction, 1000);//每秒运行一次
}
你要到网上下载一个ajax.dll.而且配置文件(web.config)中加上
<httpHandlers>
<add verb= "POST,GET " path= "ajax/*.ashx " type= "Ajax.PageHandlerFactory, Ajax "/>
</httpHandlers>
另外,页面程序中加上Utility.RegisterTypeForAjax(typeof(messageClass));//messageClass就是上面的那个类名.
最后 <body onunload= "RunServerFunction() "> //确保一进去就执行,呵呵
------解决方案--------------------最后一行错了,应该是onload
------解决方案--------------------还有服务器要using Ajax.
------解决方案--------------------还可以用其他工具比如小鸽子
需要写好接口
------解决方案--------------------Ajax,最近风头正盛。