首页 > 编程 > .NET > 正文

页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享

2024-07-10 12:43:48
字体:
来源:转载
供稿:网友

好处:1.和AJAX轮询比起来 节省资源,并且延迟小, 2.和webSocket比起来,适用的场景比较广泛。

1.先建立一个Asp.net MVC的空项目

添加一个控制器  (同样的代码在Asp.net WebForm中也是可以使用的)

代码如下:
public class CometController : Controller
    {
        public ActionResult Test()
        {
            Response.Buffer = false;
            while (true)
            {
                Response.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss FFF") + "|");
                Thread.Sleep(500);
            }
            //跑不到这里的
            return Content("");
        }
    }
}

2.再兴建一个控制器和View 用于显示HTML

代码如下:
public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }

    }

View的代码比较重要

代码如下:
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <title>Index</title>
    <script type="text/javascript" src="//www.vevb.com/uploads/allimg/190519/2111296235-0.jpg"></script>
    <script language="javascript">
        var req = false;
        var lastDelimiterPosition = -1;

        $(document).ready(function () {
            getData();
        });

        function getData() {
            loadXMLDoc("/Comet/Test");
        }

        //新建一个XHR
function createRequest() {
            if (window.XMLHttpRequest && !(window.ActiveXObject)) {

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表