是什么?

简单来说,ASP.NET SignalR是一个开源的实时通讯(real-time)库,有了ASP.NET SignalR,我们可以在

详细介绍参考:https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/introduction-to-signalr#what-is-signalr

应用场景

从介绍可以看出,ASP.NET SignalR是为实时通讯而生的,所以典型的应用场景有:

  • 支付回调
  • 聊天室
  • 环境要求

    一,服务器端

    1,操作系统

  • 服务器端支持的操作系统如下:
  • Windows Server 2008 r2
  • Windows Server 2012
  • Windows Server 2016
  • 注意:如果要使用WebSockets,要求操作系统Windows Server 2012+。

    2,.net framework

    支持.net framework 4.5+。

    3,IIS

    IIS 7+并且需要集成模式。

    二,客户端

    1,操作系统

    客户端支持的操作系统为Windows 7+。

    2,浏览器

  • IE8+
  • Firefox的所有版本
  • Chrome的所有版本
  • Safari的所有版本
  • Opera的所有版本
  • 注意:jQuery的版本必须>=1.6.4。

    原理

    1,客户端和服务端的交互如下图:

    2,ASP.NET SignalR的架构图:

    传输协议的协商

    默认情况下,SignalR会自动协商传输协议,协商的过程如下:

  • 如果浏览器是Internet Explorer 8或更早版本,则使用长轮询。

  • 如果配置了JSONP(即,在启动连接时将jsonp参数设置为true),则使用长轮询。

  • 如果正在建立跨域连接(即,如果SignalR端点与托管页面不在同一个域中),则在满足以下条件时将使用WebSocket:

  • 客户端支持CORS(跨源资源共享)。有关哪些客户端支持CORS的详细信息,请参阅caniuse.com上的CORS

  • 客户端支持WebSocket

  • 服务器支持WebSocket

    如果不满足任何这些标准,将使用长轮询。有关跨域连接的详细信息,请参阅如何建立跨域连接

  • 如果未配置JSONP且连接不是跨域连接,则如果客户端和服务器都支持,则将使用WebSocket。

  • 如果客户端或服务器不支持WebSocket,则使用Server Sent Events(如果可用)。

  • 如果“服务器已发送事件”不可用,则尝试使用“永久帧”。

  • 如果Forever Frame失败,则使用长轮询。

  • 入门Demo

    源代码地址:https://github.com/mcgrady525/GettingStarted.SignalR

    ASP.NET SignalR介绍的更多相关文章

    1. 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式

      连表查询都用Left Join吧   最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...

    2. ASP.NET SignalR

      何为ASP.NET SignalR,有什么用 ASP.NET SignalR是一个ASP.NET库,是为了实现实时web通信而创造的,能让服务器与客户端实现即时通信,而不需要服务器等待接收到客户端请求 ...

    3. ASP.NET SignalR 系列(一)之SignalR介绍

      一.SignalR介绍 ASP.NET SignalR 是一个面向 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程. 实时 web 功能是让服务器代码将内容推送到连接的客 ...

    4. ASP.NET SignalR入门

      前言 之前在培训ASP.NET WebAPI的时候有提过SignalR这个技术,但当时只是讲了是用来做什么的,并没有多说.因为自己也是画图找资料的时候见到的.后来当一直关注的前端大神贤心发布LayIM ...

    5. [Asp.net 开发系列之SignalR篇]专题一:Asp.net SignalR快速入门

      一.前言 之前半年时间感觉自己有点浮躁,导致停顿了半年多的时间没有更新博客,今天重新开始记录博文,希望自己可以找回初心,继续沉淀.由于最近做的项目中用到SignalR技术,所以打算总结下Asp.net ...

    6. Asp.net SignalR 实现服务端消息推送到Web端

                之前的文章介绍过Asp.net SignalR,  ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.  今天我 ...

    7. [Asp.net]SignalR实现实时日志监控

      摘要 昨天吃饭的时候,突然想起来一个好玩的事,如果能有个页面可以实时的监控网站或者其他类型的程序的日志,其实也不错.当然,网上也有很多成熟的类似的监控系统.就想着如果通过.net该如何实现?所以就在想 ...

    8. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言

      前端时间听一个技术朋友说 LayIM 2.0 发布了,听到这个消息抓紧去官网看了一下.(http://layim.layui.com/)哎呀呀,还要购买授权[大家支持一下哦],果断买了企业版,喜欢钻研 ...

    9. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)

      大家好,本篇是接上一篇 ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言  ASP.NET SignalR WebIM系列第二篇.本篇会带领大家将 LayIM ...

    随机推荐

    1. swust oj 1016

      插入排序算法实现 1000(ms) 10000(kb) 2613 / 6080 插入排序算法实现. 输入 第一行是待排序数据元素的个数: 第二行是待排序的数据元素. 输出 一趟直接插入排序算法结果. ...

    2. unittest测试用例的执行顺序

      unittest的测试顺序为:有几个测试用例,测试固件就会执行多少次. 例如:只有一个测试用例时: setup--testcase1--teardown import unittest class F ...

    3. Java面试题中常考的容易混淆的知识点区别

      以下是我收集的Java编程里各种区别,供Java学习爱好者参考,这些区别都是每次Java面试中常考的,大家好好掌握,如有失误请留言指出.想要获取Java详细全套学习资料请到上海尚学堂官网获取. 1.H ...

    4. limit实现的分页查询

      背景:原先是一次性查询加载到前段,表格插件自动分页,最近查询的数据量越来越大,长的时候需要等好几十秒,决定自己写一个后端分页,我写的和网上大神的略有不同,不是后端写一个类封装分页的参数,每次查询都是穿 ...

    5. 学习Python--函数进阶

      函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形 ...

    6. C#中为什么会出现空静态构造方法的写法

      再过几个小时,就要回家过春节了,今天说些简单点的东西,大家在看C#代码的时候,一定会对这样的写法非常迷茫:在一个类中会出现一个空的静态构造方法.这不是多此一举吗,这样做的目的是什么?今天我就来说说这个 ...

    7. scala读取配置文件

      Class: package libparser import scala.collection.mutable import scala.util.matching.Regex class conf ...

    8. 『土地征用 Land Acquisition 斜率优化DP』

      斜率优化DP的综合运用,对斜率优化的新理解. 详细介绍见『玩具装箱TOY 斜率优化DP』 土地征用 Land Acquisition(USACO08MAR) Description Farmer Jo ...

    9. Java导出CSV文件

      以前导出总是用POI导出为Excel文件,后来当我了解到CSV以后,我发现速度飞快. 如果导出的数据不要求格式.样式.公式等等,建议最好导成CSV文件,因为真的很快. 虽然我们可以用Java再带的文件 ...

    10. Sdcard插拔、状态广播监听,Android文件系统,Android存储器相关知识总结

      一 SDcard广播监听,注册,取消注册的实现 (1)根据实际需要监听的事件,添加action,并注册,一般在onCreate中添加 //在IntentFilter中选择你要监听的行为 IntentF ...