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的核心内容 ...
随机推荐
- FTP连接虚拟主机响应220 Welcome to www.net.cn FTP service. (解决的一个问题)
问题场景: 使用FTP客户端连接虚拟主机时,同样的账号密码在有的网络下可以连接成功,有的网络下却一直连接不上:ftp响应“220 Welcome to www.net.cn FTP service.” ...
- DirBuster工具扫描敏感文件
DirBuster是一个多线程Java应用程序,旨在强制Web/应用程序服务器上的目录和文件名.它可以选择执行纯暴力,在查询隐藏文件和目录方面非常好用. 1)安装DirBuster 前提:电脑中必须安 ...
- List使用linq的OrderBy方法排序,并按照两个字段排序的写法
SfaMember.GetList(searchInfo, 0, 1000, out Allcount).Where(item => item.bOpen == true).OrderBy(it ...
- matlab安装 macos
http://pan.baidu.com/s/1o6qKdxo内附安装说明Matlab R2014A Mac & Linux 破解版 readme文件有流程!可以安装
- dedecms 后台 菜单点击后打开的慢
原因之一: 加载后台信息的时候 耗费的时间太长. 如果不关注这边的数据, 可以将他们删除掉. 删除 “信息统计” : 找到 www.yoursite.com/dede/js/indexbo ...
- IOS - 上APPSTORE为何因IPv6被拒?
http://blog.csdn.net/wanglixin1999/article/details/52182001
- 依赖注入[2]: 基于IoC的设计模式
正如我们在<控制反转>提到过的,很多人将IoC理解为一种"面向对象的设计模式",实际上IoC自身不仅与面向对象没有必然的联系,它也算不上是一种设计模式.一般来讲,设计模 ...
- Java软件工程师面试常见问题集锦之一
1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象 ...
- PHP全栈从入门到精通1
thinkphp框架,是一堆代码(常量,方法,和类)的集合,框架是一个半成品的应用,还包含一些优秀的设计模式. 框架的使用,代码风格不一样,维护难,项目生命周期短,功能扩展存在局限,好处为,简单,快捷 ...
- 【mysql】Date和String的互相转换(DATE_FORMAT & STR_TO_DATE)
1.Date ——> String 使用的函数:DATE_FORMAT(date,format) date:需要转换的日期 format:格式化的样式 format样式整 ...