博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.Net SignalR - 准备工作
阅读量:5751 次
发布时间:2019-06-18

本文共 1114 字,大约阅读时间需要 3 分钟。

原文:

实时通讯

在做Web的时候经常会有客户端和服务端实时通讯的需求,比如即时聊天等。目前实时通讯有很多种规范和实现方式,但是每一个对浏览器的兼容性或者性能都不是很完美。

目前主流的解决方案有

WebSocket   使用ws协议基于tcp

SSE  订阅服务器事件方式

长连接

轮询

而sigualR对这些都进行了封装,使得我们不用去关心到底是什么实现,是websocket还是sse,它会根据当前浏览器的兼容性来做做好的选择。

 

Simple Demo

创建一个owin的启动类,然后添加一个signalR的永久链接类 起名为 MyConnetion1

public class Startup    {        public void Configuration(IAppBuilder app)        {            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888            app.MapSignalR
("/myconnection"); } }

在html中代码也是非常简单的

先不用管是做什么,把连接的loggin设置为true,运行项目就可以看到如下的log信息,可以明确的看到这里使用的是WebSocket

 

不得不说的Owin

可以看到之前的simple demo中创建了一个owin的起始类,这是owin是个什么东西呢

owin是一个规范,下面引用的是博客员dudu的图与一些解释

owin是针对 .net平台的开放web接口,owin就是.net web应用程序与web服务器之间的接口。owin使得应用程序不依赖于web服务器,它们通过接口来进行工作,而更换其它的web服务器只要符合 owin 接口的规范都是没有问题的。

owin是典型的适配器模式

owin把Web应用的解决方案进行了分层

host  宿主

service  服务器  服务器可以是iis也以是其它的

Middleware  中间件,  中间件用来丰富service达到功能添加

application  应用

 

katana

katana就是owin规范的实现,而.net的Mvc项目也已经实现了owin规范,所以那些喷.net不能跨平台的,都是to young。姿势水平还需要提升啊。

Startup类是我们的owin入口点,我们可以在里写入代码把中间件打入owin管道

 

下面再进行盗图(来自 ) 第一张图是一个规范而第二张图是真正已经实现的,也就是我们的SignalR

转载地址:http://zmukx.baihongyu.com/

你可能感兴趣的文章
使用@media实现IE hack的方法
查看>>
《11招玩转网络安全》之第一招:Docker For Docker
查看>>
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
XML教程
查看>>
oracle体系结构
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>
开启“无线网络”,提示:请启动windows零配置wzc服务
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
JS 原生ajax写法
查看>>
Composer管理PHP依赖关系
查看>>
React.js学习笔记之JSX解读
查看>>
我所了解的Libevent和SEDA架构
查看>>
Socket编程问题小记
查看>>