SignalR 前期简单配置
一、随便你在哪个命名空间下新建一个Startup类,并在在该类中注册SignalR。
using Owin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace SignalRTest.Utils {
public class Startup {
public void Configuration(IAppBuilder app) {
app.MapSignalR();
}
}
}
二、在web.config的configuration\appSettings下配置节点,value值是Startup的全类型名称
<appSettings>
<add key="owin:AppStartup" value="SignalRTest.Utils.Startup"/>
</appSettings>
三、在前端页面中引入相关js文件,如下:
<script src="scripts/jquery-1.10.2.min.js"></script>
<script src="scripts/jquery.signalR-2.2.2.min.js"></script>
<script src="signalr/hubs"></script>
啥?找不到signalr/hubs这个文件,不要慌,这个是程序自动生成的,在页面中只需要加上就OK!
四、新建一个Hub派生类
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Threading.Tasks;
using MyProject.Entity;
using SignalRTest.BLL; namespace SignalRTest.Utils {
[HubName("groupChatHub")]
public class GroupChatHub:Hub {
[HubMethodName("sendMsg")]
public void SendMsg(string data){ }
}
}
新建的GroupChatHub类型继承Hub抽象类。在GroupChatHub类中实现的方法可以在客户端页面的当做js方法调用,相当于在客户端调用服务端的方法,和AjaxPro有点像。
具体调用的情景如下所示:
$(function () {
//链接hub
var ticker = $.connection.groupChatHub;
//启动
$.connection.hub.start().done(function () {
//启动完毕,则调用服务器方法 创建聊天房间
ticker.server.joinRoom(QueryString("sid")).done(function () { });
}); $("#btnSend").click(function () {
//获取文本框信息
var tbxInput = $(this).parent().children(".msgs");
if (tbxInput) {
var msg = tbxInput.val() || '';
if (msg.length > ) {
// 调用服务器方法 主动发送消息,传入发送组,和发送的内容。
ticker.server.sendMsg(QueryString("sid"), msg);
tbxInput.val('');
}
else tbxInput.focus();
}
}); $(".msgs").bind("keydown", event, function () {
if (event.keyCode == )
$("#btnSend").click();
});
});
由此看出,继承自Hub抽象类的派生类GroupChatHub中的公共方法,是可以在前端通过js调用的!
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 ...
- SignalR的简单实现消息广播
之前由于一个项目的需要(简单说一下,一个网页游戏,裁判的页面点击开始按钮,玩家便可以开始游戏),研究了很久,最终一个同事跟我推荐了SignalR.距离项目结束已经有一段时间了,再来回顾一下Signal ...
- SignalR的简单实现(一)
原文:SignalR的简单实现(一) ASP.NET SignalR是ASP.NET开发人员的一个新库,它使您的应用程序添加实时Web功能变得非常简单.什么是"实时网络"功能?能够 ...
- SignalR的简单使用(二)
原文:SignalR的简单使用(二) 之前提到SignalR代理在网页,通过生成的Js来完成相关的功能.但我不禁想一个问题, 难到SignalR的服务端就能寄存在web端吗,通过访问网页能方式才能启动 ...
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- 以实际的WebGIS例子探讨Nginx的简单配置
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉 ...
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- ssm简单配置
MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架. MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获. MyBatis 只使用简单的XML 和注解来配置和映射 ...
- 安装MariaDB和简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...
随机推荐
- [MySQL]典型的行列转换
列变成行 测试数据库数据样式: 应用的sql语句: SELECT TM,NAME,SUM(GE) AS 'GE',SUM(GD) AS 'GD',SUM(CT) AS 'CT',SUM(NUM) AS ...
- springmvc如何进行热部署开发
1.场景还原 在工程量大的情况下,tomcat运行部署一次会花费相当多的时间,这样太 浪费人力以及时间了:今天笔者将 讲解一下如何配置springmvc工程的热部署 2.实现方案 其实很简单! ①在t ...
- 【转】 详解C中volatile关键字
转自: http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html volatile提醒编译器它后面所定义的变量随时都有可能 ...
- webService上传图片
webService /// <summary> /// 上传图片webServer 的摘要说明 /// </summary> [WebService(Namespace = ...
- LeetCode--844--比较含退格的字符串(java)
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = "ab#c", T = " ...
- (转)python 全栈开发,Day74(基于双下划线的跨表查询,聚合查询,分组查询,F查询,Q查询)
昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="164 ...
- Linux虚拟机安装VMware Tools
选择虚拟机-->install VMware Tools # 新建一个文件夹用来挂载光驱 mkdir /mnt/cdrom # 挂载光驱到指定文件夹 mount /dev/sr0 /mnt/cd ...
- 【PowerDesigner】【1】简单介绍
正文: 创建表格 File→New Model→(Model types; Physical Data Model; Physical Diagram)Model name:名称:DBMS:数据库类型 ...
- Git Diff 格式分析
参考: http://stackoverflow.com/questions/2529441/how-to-read-the-output-from-git-diff https://www.git- ...
- IntelliJ IDEA2017创建web工程并实现远程部署tomca【转载】
[IntelliJ IDEA2017创建web工程并实现远程部署tomcat] 作者:https://segmentfault.com/a/1190000012762629 将应用打成war包方式 步 ...