CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

OA短消息提醒功能功能怎么实现

楼主Jane0621(jane)2006-03-13 15:34:35 在 .NET技术 / ASP.NET 提问

在我的OA系统中,当用户A和用户B同时在线的时候,A向B发送短消息,系统中通过什么机制来自动弹出提醒窗口。 问题点数:20、回复次数:24Top

1 楼Lukiya(路基亚)回复于 2006-03-13 15:45:37 得分 0

可以用ajax技术,每隔一段时间访问一个后台页面。那个后台页面里读数据库中消息表的纪录,如果是新的则返回true。  
  前台读到了就弹出窗口。Top

2 楼NeilChen123(木野狐)回复于 2006-03-13 15:46:41 得分 5

因为   B/S   的系统里很难实现推模型,所以其实还是用传统的做法。  
  具体来说,就是你的页面有一个部分去定时循环调用   xmlhttp   读取后台的数据(消息表),如果有新的,则用声音,文字等等提示用户即可。  
  定时的功能可以用   js   里面的   window.setInteval   函数。  
  或者你用一个隐藏的   iframe   定时   postback   也可以。  
   
   
  Top

3 楼NeilChen123(木野狐)回复于 2006-03-13 15:46:49 得分 5

因为   B/S   的系统里很难实现推模型,所以其实还是用传统的做法。  
  具体来说,就是你的页面有一个部分去定时循环调用   xmlhttp   读取后台的数据(消息表),如果有新的,则用声音,文字等等提示用户即可。  
  定时的功能可以用   js   里面的   window.setInteval   函数。  
  或者你用一个隐藏的   iframe   定时   postback   也可以。  
   
   
  Top

4 楼NeilChen123(木野狐)回复于 2006-03-13 15:47:26 得分 0

不好意思,刚才提示“回复失败”,多回了一遍。  
   
   
  Top

5 楼ycy589(ycy589)回复于 2006-03-13 15:49:27 得分 0

不错Top

6 楼Jane0621(jane)回复于 2006-03-13 16:29:29 得分 0

谢谢NeiChen123,能否给个例子。  
  Top

7 楼Jane0621(jane)回复于 2006-03-13 16:51:01 得分 0

做过这方面的提醒功能的老师们谈谈撒。Top

8 楼zyug(LovlyPuppy)回复于 2006-03-13 17:07:32 得分 0

JS代码写的比较烦,还有简单的  
   
  比如A给B发      
   
  假设OA系统上有一个页面是始终存在的,假设是a.aspx   ,当然,它的宽度可能是0   长度也可能是0   ;   那我们不官  
   
  我们可以让a页面自刷新(   5秒刷新一次   )   ,放在一个IFrame中     ,那么a可以不断的刷新,读取数据库中是否有新的消息(也就是新记录)   ,如果有记录,弹个窗口出来(那就是消息窗口,   Response.Write   ("   <script>window.open   ('Message.aspx')</script>"   )   就可以了)   ,如果没有,刷刷刷  
   
   
   
   
   
   
   
  Top

9 楼Jane0621(jane)回复于 2006-03-13 17:32:33 得分 0

这样呀。那不是很增加服务器的负担。我如果在线的人很多,那服务器停的刷。有点受不起呀,还有没有更好的办法。  
  Top

10 楼zyug(LovlyPuppy)回复于 2006-03-13 17:34:51 得分 0

所以OA是有人数限制的..............  
  按人数来收费的....................  
  不是毫无关系  
   
  上面的ajax   ,setInteval   都是这种机制的.....  
  因为b/s的模式限制Top

11 楼jxdyzwh(http://www.szsoftware.com.cn)回复于 2006-03-13 17:35:22 得分 0

POUP来实现Top

12 楼jxdyzwh(http://www.szsoftware.com.cn)回复于 2006-03-13 17:37:17 得分 0

如果需要的话楼主可以给我来个邮件jxdyzwh@163.com,我发个例子给你Top

13 楼zyug(LovlyPuppy)回复于 2006-03-13 17:39:01 得分 0

在你没有请求的时候,Sever不会发送给浏览器任何东西........  
  (要不然你麻烦了,保证你一开机,满屏幕都是广告窗口.....)  
   
  在你收到消息的时候,你一定是向Sever请求了什么......Top

14 楼Jane0621(jane)回复于 2006-03-13 18:45:42 得分 0

还有没有更好的办法。Top

15 楼califord(远方)回复于 2006-03-13 18:55:25 得分 0

直接给一个例子看看Top

16 楼blackhero(黑侠客)回复于 2006-03-13 19:14:00 得分 0

RTCTop

17 楼Jane0621(jane)回复于 2006-03-14 09:50:15 得分 0

大虾们,请说的详细写,我是个刚入门的。我只想知道,在系统中用什么机制知道用户A给用户B发送了邮件或消息什么的,系统中怎么去检测数据库中用户B有新的消息,然后去触发客户端弹出提醒窗口。Top

18 楼denghan(很久没来ASP版了)回复于 2006-03-14 09:56:46 得分 0

可以这样:在服务器端建一个消息池机制,只有一个线程在不停的扫描数据库把新消息加入池中。然后用一个客户端都从这个池中取消息。  
  javabean+xmlhttp就可搞定Top

19 楼jxdyzwh(http://www.szsoftware.com.cn)回复于 2006-03-14 10:02:47 得分 0

兄弟们别急,给我来邮件的都发了个例子,呵呵,都能满足各位的需求,好东西,大家一起分享!Top

20 楼Jane0621(jane)回复于 2006-03-14 10:19:30 得分 0

阳光男孩,我给你去了邮件,怎么还不回呀,我急了。在说一下我的邮箱:daijane@126.com,记住了。Top

21 楼lubosun(大白菜)回复于 2006-03-14 10:36:52 得分 0

markTop

22 楼jxdyzwh(http://www.szsoftware.com.cn)回复于 2006-03-14 10:51:01 得分 8

兄弟们,我给你们都发了,呵呵,对了,实现poup的功能得有ie5.5版本以上才有用,楼主可以结贴了Top

23 楼ycted(长城万里今犹在,不见当年秦始皇!)回复于 2006-03-14 10:55:46 得分 2

OA一般都有公用的head,把判断写在那里面不就行了。当他每打开一个页面都会做判断。Top

24 楼Jane0621(jane)回复于 2006-03-14 11:28:19 得分 0

接帖了Top

相关问题

  • 软件打开后实现提醒功能
  • 关于提醒功能的实现的方法,请指点!
  • 请问怎么样实现添加记录后提醒的功能
  • 请教关于日程安排提醒功能实现!顶者有分!
  • ASP实现OA的功能,可以吗?详细内容。。。。
  • 请问如何实现网页类似“冒泡提醒”的功能?就是QQ好友上线那种。
  • 实现开机提醒!
  • OA系统中是否需要提供用户自己修改口令的功能??如何实现??
  • 哪位大虾知道怎么用WEB方式实现像notes开发的oa中的笔迹保留功能?
  • Domino 和Java技术结合,在OA项目中一般都用Java实现那些部分的功能!

关键词

  • b/s
  • 消息
  • 页面
  • 数据库
  • 用户
  • 系统
  • 邮件
  • 服务器
  • js
  • setinteval

得分解答快速导航

  • 帖主:Jane0621
  • NeilChen123
  • NeilChen123
  • jxdyzwh
  • ycted

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo