Asp.Net SignalR 集线器不使用代理的实现
不使用生成代理JS的实现
可能有同学会觉得使用集线器很麻烦,要么引入虚拟目录,要么在生成期间生成js文件,再引入js文件进行开发。难道就没有比较清爽的方式吗?这个当然是有的,先不要(。・∀・)ノ゙嗨皮起来, 看完后再做出选择
简单看一下生成的js文件,其实代码一大堆,我们也可以根据这个js来写一个
首先我们需要有连接对象
let hubDemo = $.hubConnection("/simpleHub");
然后创建HubDemo类的代理
var proxy = hubDemo.createHubProxy("HubDemo");
然后就可以开启连接了,这里使用了代理对象执行 HelloService方法
hubDemo.start().done(function () {
proxy.invoke("HelloService");
});
记得HelloService方法里会调用HelloClient函数,所以这个也是不能少的
proxy.on("helloClient", function() {
console.log("收到服务器的问候");
})
这时候可以运行起来看看效果了,嗯 这看起来很完美
完整代码如下,可以看到这些类名和方法名都是需要去指定的,也就是虽然完全解耦但是这对开发带来了难度,而这些代理也只是对代理生成的js的简化版,而且也没有智能提醒了,因为要自己写-.- 两种方式各有利弊,用哪个都不错。根据项目情况自行选择吧
let hubDemo = $.hubConnection("/simpleHub"); var proxy = hubDemo.createHubProxy("HubDemo"); hubDemo.start().done(function () {
proxy.invoke("HelloService");
}); proxy.on("helloClient", function() {
console.log("收到服务器的问候");
});
HubName与HubMethodName
我们可以使用这两个特性为我们的方法与类进行重命名,比如方法名是Hello,但是我想要客户端调用的是MyHello。
[HubMethodName("Hello")]
public void HelloService(string age1, int age2)
{
Clients.All.helloClient();
}
HubName作用与HubMethodName的作用是类似的,不同的是作用于类上
[HubName("HubDemo2")]
public class HubDemo : Hub
Asp.Net SignalR 集线器不使用代理的实现的更多相关文章
- SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序
SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 异常汇总:http://www ...
- ASP.NET SignalR
何为ASP.NET SignalR,有什么用 ASP.NET SignalR是一个ASP.NET库,是为了实现实时web通信而创造的,能让服务器与客户端实现即时通信,而不需要服务器等待接收到客户端请求 ...
- [Asp.net 开发系列之SignalR篇]专题一:Asp.net SignalR快速入门
一.前言 之前半年时间感觉自己有点浮躁,导致停顿了半年多的时间没有更新博客,今天重新开始记录博文,希望自己可以找回初心,继续沉淀.由于最近做的项目中用到SignalR技术,所以打算总结下Asp.net ...
- Asp.net SignalR 让实时通讯变得简单
巡更项目中,需要发送实时消息,以及需要任务开始提醒,于是便有机会接触到SignalR,在使用过程中,发现用SignalR实现通信非常简单,下面我思明将从三个方面分享一下: 一.SignalR是什么 A ...
- 使用ASP.NET SignalR实现一个简单的聊天室
前言 距离我写上一篇博客已经又过了一年半载了,时间过得很快,一眨眼,就把人变得沧桑了许多.青春是短暂的,知识是无限的.要用短暂的青春,去学无穷无尽的知识,及时当勉励,岁月不待人.今天写个随笔小结记录一 ...
- Asp.net SignalR 让实时通讯变得如此简单
巡更项目中,需要发送实时消息,以及需要任务开始提醒,于是便有机会接触到SignalR,在使用过程中,发现用SignalR实现通信非常简单,下面我思明将从三个方面分享一下: 一.SignalR是什么 A ...
- Asp.net SignalR 实现服务端消息实时推送到所有Web端
ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.实际上 Asp.net SignalR 2 实现 服务端消息推送到Web端, 更加 ...
- 《ASP.NET SignalR系列》第二课 SignalR的使用说明
从现在开始相关文章请到: http://lko2o.com/moon 接续上一篇:<ASP.NET SignalR系列>第一课 认识SignalR (还没有看的话,建议您先看看) 一.指定 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。
上篇:ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取) 上一篇我们已经完成了初步界面的搭建工作,本篇将介绍IM的核心内容 ...
随机推荐
- mstsc的事 随笔
当个备份吧, 记不得了,就翻一下自己的博客. MSTSC 设置, 平台:Windows 10 企业版 Windows 10 企业版,功能最全.
- Java 多文件压缩成一个文件工具类
简单修改来自博客园勇闯天涯zfc的博客 一.内容 ①使用 Java 将多个文件打包压缩成一个压缩文件: ②主要使用 java.io 下的类 二.源代码:ZIPUtil .java import jav ...
- python基础知识总结(一)
学完python很久了,一直想着写个学习总结,奈何懒癌晚期,现在才开始写.以下是我总结的一小部分python基础知识点的总结: 1.什么是解释型语言?什么是编译型编程语言? ''' 解释型语言:无需编 ...
- SpringBoot几种定时任务的实现方式
定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行, ...
- angular.module()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Sqoop葵花宝典
Sqoop葵花宝典 基于Sqoop1.x 场景 导入流程 graph LR A[RDBMS] -->|Sqoop| B(Hive) 导出流程 graph LR A[Hive] -->|Sq ...
- 数位dp-Bomb
难受啊!!越做题是越感觉菜,这个又被几个坑给卡住了(只有我这个学渣才会卡) 坑点:1.考虑n是否已包含49,有的话还要再+1. 2, 注意从最高开始考虑时,再判断时要考虑它本身为0的情况,.比如n=5 ...
- pyhton中常用的基础模块
目前在看Google的DetectionAPI源码,自己的Python功底不是很好,看到了哪些模块就随手记一下. 1.abc模块,参考https://www.cnblogs.com/wancy86/p ...
- linux学习:网络(防火墙)及系统安全相关命令学习
指令: top.htop.free.pstree.lsof.ifconfig.w3m.tcpdump.netstat.nmap.ufw 网络: top #查看内存,cpu,进程之间的状态.hto ...
- js-day02-BOM和DOM
BOM和Document对象常见属性和方法: BOM是browser object model的缩写,简称浏览器对象模型. Document 对象每个载入浏览器的 HTML 文档都会成为 Docume ...