好处: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)) {
新闻热点
疑难解答
图片精选