Comet ASP.NET AJAX 示例

2020-11-18 14:35

阅读:829

标签:com   http   blog   style   class   div   java   c   log   size   t   

       最近公司有个项目,里面要求要用到Comet技术,所以就到网上找了一下相关的资料和文章,发现有些人说用Ajax的长轮询比较好,后来就百度了一下,发现comet貌似就是通过ajax演变而来的,也就是comet是ajax里面的一种,只不过有多种实现方式,下面我来贴一个经过自己修改后的代码,最后也会贴一个我在博客园上看到的一篇文章的地址,我的代码是通过他的文章所受到的启发修改的,感谢他.
       前台:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head id="Head1" runat="server">
    title>title>
    script src="Scripts/jquery-1.4.1.min.js" type="text/javascript">script>
    script type="text/javascript">
        function fUpdateData(fData) {
            $.post("comet_broadcast.asyn", { content: fData },
                function (data, status) {
                    var result = $("#divResult");
                    result.html(result.html() + "
"
 + data);
//                    $("#divResult").html(data);
                    //服务器返回消息,再次请求后台数据
                    fGetData();
                }, "html"
         );
        }
        //获取服务器最新信息
        function fGetData() {
            $.ajax({
                type: ‘GET‘,
                url: ‘ProvideData.ashx‘,
                success: function (data) {
                    fUpdateData(data);
                }
            });
        }
        $(document).ready(function () {           
            //初始化
            fGetData();           
        });
    script>
    style type="text/css">
        * { font-size12px; }
        #divResult { border1px solid #000width250px; }
    style>
head>
body>
    form id="form1" runat="server">
    div>       
        后台推送最新消息:
        div id="divResult">
        div>
    div>
    form>
body>
html>

ProvideData.ashx  代码:
/// 
    /// ProvideData 的摘要说明
    /// 
    public class ProvideData : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World:"+DateTime.Now.ToString("HH:mm:ss"));//需要输出特定的信息的,可以在这里处理,例如读取数据库的最新参数啊,获取memcached的值之类的都行.
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }


Web.config
httpHandlers>
      add path="comet_broadcast.asyn" type="AsnyHandler" verb="POST,GET"/>
    httpHandlers>
    compilation debug="true" targetFramework="4.0" />


还有两个类,类的代码我上传附件好了,如果看不到附件的童鞋请私信或者回复我,我会及时更新.

下面贴一下我在博客园看到的的文章的网址,在此再次的感谢他:

http://www.cnblogs.com/hanxianlong/archive/2010/04/27/1722018.html

来自为知笔记(Wiz)

附件列表

     

    Comet ASP.NET AJAX 示例,搜素材,soscw.com

    Comet ASP.NET AJAX 示例

    标签:com   http   blog   style   class   div   java   c   log   size   t   

    原文地址:http://www.cnblogs.com/nangong/p/3701224.html


    评论


    亲,登录后才可以留言!