全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

.Net MVC实现长轮询

什么是长轮询?

    长轮询是“服务器推”技术实现方式的一种,可以将服务端发生的变化实时传送到客户端而无须客户端频繁的地刷新、发送请求。

长轮询原理?

    客户端向服务器发送Ajax请求,服务器接收到请求后,保持连接不返回消息,直到进行相关处理完毕后才返回响应信息并关闭连接,客户端接收到响应信息后,进行相关处理,处理完毕后再想服务器发送新的请求。

长轮询的应用场景?

    长轮询常应用于Web及时通讯、监控、即时报价系统等需要实时将服务端的变化发送到客户端的场景。

长轮询的优缺点?

优点:无消息时不会频繁的向服务器发送请求。

缺点:服务器保持连接比较耗资源

实现:

前台代码:

我们在回调中,再次调用函数,使其在每次请求关闭后,开始下一次请求。

<div id="container"></div>
<script type="text/javascript">
  $(function () {
    function longPolling() {
      $.getJSON("/DateTime/GetTime", function (json) {
        $("#container").append(json.date + "<br/>");
        longPolling();
      });
    };
    longPolling();
  });
</script>

后台代码:

我们后台Controller要使用异步,继承AsyncController基类

public class DateTimeController : AsyncController
  {
    public void GetTimeAsync()
    {
      //计时器,5秒种触发一次Elapsed事件    
      System.Timers.Timer timer = new System.Timers.Timer(5000);
      //告诉.NET接下来将进行一个异步操作    
      AsyncManager.OutstandingOperations.Increment();
      //订阅计时器的Elapsed事件  
      timer.Elapsed += (sender, e) =>
      { //保存将要传递给GetTimeCompleted的参数        
        AsyncManager.Parameters["nowdate"] = e.SignalTime;
        //告诉ASP.NET异步操作已完成,进行GetTimeCompleted方法的调用        
        AsyncManager.OutstandingOperations.Decrement();
      };
      //启动计时器    
      timer.Start();
    }
    public ActionResult GetTimeCompleted(DateTime nowdate)
    {
      return Json(new { date = nowdate.ToString("HH:mm:ss") + " Welecom " }, JsonRequestBehavior.AllowGet);
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# .Net  # MVC  # 长轮询  # 基于springboot 长轮询的实现操作  # JS实现websocket长轮询实时消息提示的效果  # Thinkphp结合AJAX长轮询实现PC与APP推送详解  # javascript和jQuery实现网页实时聊天的ajax长轮询  # jquery与php结合实现AJAX长轮询(LongPoll)  # PHP实现长轮询消息实时推送功能代码实例讲解  # 计时器  # 客户端  # 服务端  # 使其  # 应用于  # 发送到  # 后才  # 回调  # 要使  # 再想  # 大家多多  # 而无须  # 完毕后  # type  # text  # gt  # script  # javascript  # function  # GetTime 


相关文章: 淘宝制作网站有哪些,淘宝网官网主页?  建站之星如何助力网站排名飙升?揭秘高效技巧  建站之星如何通过成品分离优化网站效率?  建站之星代理平台如何选择最佳方案?  如何配置IIS站点权限与局域网访问?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  建站之星展会模版如何一键下载生成?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  济南专业网站制作公司,济南信息工程学校怎么样?  专业商城网站制作公司有哪些,pi商城官网是哪个?  建站之星如何一键生成手机站?  建站主机与虚拟主机有何区别?如何选择最优方案?  学校为何禁止电信移动建设网站?  济南网站制作的价格,历城一职专官方网站?  大连网站制作公司哪家好一点,大连买房网站哪个好?  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何在万网自助建站平台快速创建网站?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站之星CMS五站合一模板配置与SEO优化指南  广州建站公司哪家好?十大优质服务商推荐  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站之星logo尺寸如何设置最合适?  官网网站制作腾讯审核要多久,联想路由器newifi官网  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  制作网站的软件免费下载,免费制作app哪个平台好?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  定制建站如何定义?其核心优势是什么?  建站之星如何快速解决建站难题?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何通过西部建站助手安装IIS服务器?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何实现建站之星域名转发设置?  如何访问已购建站主机并解决登录问题?  定制建站哪家更专业可靠?推荐榜单揭晓  宝塔新建站点报错如何解决?  测试制作网站有哪些,测试性取向的权威测试或者网站?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何快速搭建高效WAP手机网站?  建站之星导航菜单设置与功能模块配置全攻略  深圳网站制作培训,深圳哪些招聘网站比较好?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  建站主机SSH密钥生成步骤及常见问题解答?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  宝塔建站后网页无法访问如何解决?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  如何解决ASP生成WAP建站中文乱码问题?  如何在七牛云存储上搭建网站并设置自定义域名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。