我以前是用mfc做通用软件的, 现在工作比较闲,前几天开始摆弄asp.net(主要是对C#比较感兴趣),我想问一下, 比如一个聊天室程序,  Client1首先发消息给Server(index.aspx), index.aspx.cs收集到Client1的消息后, 要将这些消息传递给所有的Client,有没有办法做到服务器主动去刷新客户端啊?

解决方案 »

  1.   

    大哥, 能详细一点么?我才学asp. net不久
      

  2.   

    可以这样通过js中的函数setInterval比如
    TimerID = setInterval("refresh()",100);  //这里是每100毫秒触发一次refresh()事件再定义refresh()函数
    function refresh()
    {
      //写上你的刷新事件
    }
      

  3.   

    同意wj2929,
    具体可以使用xmlhttp或者webservice的方式来调用另一个页面.
      

  4.   

    DHtml中使用WebServices使用页面局部刷新功能确实是一个不错的办法
      

  5.   

    有好几种方法都可以实现:
    1、不停的检查数据库,如果有新信息了就刷新指定的页面;
    2、在页面上写一个javaScript函数或在head里设置刷新时间;
      

  6.   

    看来你写VC太久了,tcp/ip是无状态连接的,服务端不能直接操作客户端,就算服务端能知道客户端地址也穿透不了防火墙。客户端(浏览器)访问服务端的时候,实际上传递了一个SessionID上去,这样服务端就知道是谁在访问他了,这个SessionID是绝对唯一的。现在你的问题只能通过客户端刷新来,改变状态,一般用js,如果你写的好的话,可以很想CS的,你可用xml来刷新。
      

  7.   

    总结各位大侠的指点, 比较好的实现方法是:
    使用客户端js脚本设置定时, 在定时函数里使用xmlhttp或者webservice的方式来进行页面局部刷新.
    不知道我说的对不对?大家有例子么?