PersistentConnection Hub/生成Proxy模式 Hub/非生成Proxy模式
服务端配置

app.Map("/messageConnection", map =>
           {
               map.RunSignalR<MessageConnection>();
           });

app.Map("/messageHub", map =>
           {
               map.RunSignalR(new Microsoft.AspNet.SignalR.HubConfiguration { EnableJavaScriptProxies = true });
           });

app.Map("/messageHub", map =>
            {
                map.RunSignalR(new Microsoft.AspNet.SignalR.HubConfiguration { EnableJavaScriptProxies = true });
            });

引入js文件 jquery-1.6.4.min.js
jquery.signalR-2.2.0.min.js
jquery-1.6.4.min.js
jquery.signalR-2.2.0.min.js
/messageHub/js
上述js文件是动态生成,其中messageHub的为服务端定义的路径
jquery-1.6.4.min.js
jquery.signalR-2.2.0.min.js
创建连接 var connection = $.connection("/message"); var connection = $.connection; var connection = $.hubConnection();
开启连接

connection.start()
                .done(function () {
                    connected = true;
                })
                .fail(function () {
                    alert("连接失败");
                });

connection.hub.start()
                .done(function () {
                    connected = true;
                })
                .fail(function () {
                    alert("连接失败");
                });

connection.start()
                .done(function () {
                    connected = true;
                })
                .fail(function () {
                    alert("连接失败");
                });

代理对象 var proxy = connection.MessageService;
MessageService是Hub的名称
var proxy = connection.createHubProxy("MessageService");
MessageService是Hub的名称
定义客户端方法

proxy.client.hello = function (message) {
                      console.log(message);

}

proxy.on("hello", function (message) {

console.log(message);

});

接收消息

connection.received(function (message) {
                alert(message);
            });

通过服务器调用客户端方法实现

通过服务器调用客户端方法实现

发送消息 connection.send(message); 通过调用服务端方法实现
proxy.server.hello(message);
通过调用服务端方法实现
proxy.invoke("hello", message);
设置QueryString 在创建connection时指定
var connection = $.connection("/messageConnection", { username: "qs" + username });

connection.hub.qs = { username: "qs" + username };

connection.qs = { username: "qs" + username };
设置Cookie document.cookie = "username=" + username; document.cookie = "username=" + username; document.cookie = "username=" + username;
设置State proxy.state.ClientType = "HubAutoProxy"; proxy.state.ClientType = "HubNonAutoProxy";

转载于:https://www.cnblogs.com/ZaraNet/p/9935197.html

SignalR的Javascript客户端API使用方式整合相关推荐

  1. 【SignalR学习系列】7. SignalR Hubs Api 详解(JavaScript 客户端)

    SignalR 的 generated proxy 服务端 public class ContosoChatHub : Hub {public void NewContosoChatMessage(s ...

  2. JavaScript小技能:客户端 API

    文章目录 I 预备知识 1.1 常见的客户端 API 1.2 web 浏览器的重要部分 II BOM(Browser Object Model,浏览器对象模型) III Canvas API 2.1 ...

  3. 通过 Jersey Http请求头,Http响应头,客户端 API 调用 REST 风格的 Web 服务

    原地址:http://blog.csdn.net/li575098618/article/details/47853263 Jersey 1.0 是一个开源的.可以用于生产环境的 JAX-RS(RES ...

  4. 八、前端开发-JavaScript 客户端存储

    八.前端开发语言体系-JavaScript 客户端存储 文章目录 八.前端开发语言体系-JavaScript 客户端存储 JavaScript 客户端存储 客户端存储简介 Cookie LocalSt ...

  5. mvvm 后端_ZK实际应用:MVVM –与ZK客户端API一起使用

    mvvm 后端 在以前的文章中,我们已经使用ZK的MVVM实现了以下功能: 将数据加载到表中 使用表单绑定保存数据 删除条目并以编程方式更新视图 ZK MVVM和ZK MVC实现方式之间的主要区别是, ...

  6. Java EE 7中的WebSocket客户端API

    在本文中,让我们探索谈论较少的Web Socket Client API,以及如何在Java EE 7容器本身中利用它. Web套接字服务器API规则 JSR 356的服务器端API(Java的Web ...

  7. ZK实际应用:MVVM –与ZK客户端API一起使用

    在之前的文章中,我们使用ZK的MVVM实现了以下功能: 将数据加载到表中 使用表单绑定保存数据 删除条目并以编程方式更新视图 ZK MVVM和ZK MVC实现方式之间的主要区别是,我们不直接在cont ...

  8. 生成用于ASP.NET Web API的C#客户端API

    目录 介绍 主要特征 主要好处 背景 推定(Presumptions) 使用代码 步骤0:将NuGet软件包WebApiClientGen安装到Web MVC/API项目 步骤1:建立.NET Cli ...

  9. 生成用于ASP.NET Web API的TypeScript客户端API

    目录 介绍 备注 背景 推定(Presumptions) 使用代码 步骤0:将NuGet package WebApiClientGen和WebApiClientGen.jQuery安装到Web AP ...

最新文章

  1. 函数指针与指针函数的使用与小结
  2. 画一个皮卡丘项目小结(4)
  3. SQL语句中各个部分的执行顺序(转)
  4. 缓存cache和缓冲区buffer
  5. Java:在Runnable中处理RuntimeException
  6. 中国学霸本科生提出AI新算法:速度比肩Adam,性能媲美SGD,ICLR领域主席赞不绝口...
  7. PAT 数字分类(20)
  8. Shell脚本 条件
  9. 游戏引擎BigWorld宣布将在4.0版本支持HTML5
  10. springboot+责任链模式初体验
  11. LaTeX常用的希腊字符、数学符号、矩阵、公式、排版、中括号、大括号以及插入图片等操作手册
  12. PID系统稳定性与零极点的关系
  13. 用python做个聊天机器人与群发助手~再也不怕没时间回女友,闺蜜被胖揍了~
  14. 游戏公司用IM软件 “颜值”和“手感”一个都不能少
  15. Arcgispro2.5安装教程
  16. 技术博客1鸿蒙系统和安卓的区别有哪些
  17. Zabbix批量增加节点方法(自动发现及Json API)
  18. 用什么方式学java_五分钟学Java:打印Java数组最优雅的方式是什么?
  19. Tensorflow 自然语言处理
  20. 批量数据 导入数据库

热门文章

  1. 微信小程序wx.getUserProfile
  2. CentOS 常用命令
  3. 在git上面找开源项目遇到的坑
  4. linux7.1安装教程,Debian Linux 7.1.0 图文安装教程
  5. 正则表达式 —— 非捕获元
  6. 学计算机的普通学生那里就业,学计算机我后悔了 现在好就业吗
  7. python写ini文件不能保持原有顺序问题_python 生成 xml文件 属性的顺序问题
  8. linux 套接口文件_继上一篇,继续介绍linux 套接口
  9. linux mint 18.3浏览器,在Ubuntu 18.04/Linux Mint 19中安装Chromium浏览器的方法
  10. 因发生下列错误 无法创建映射网络驱动器_怎么来修复“Windows无法安装所需文件的错误原因”?...