ASP .NET SignalR起步
在网站开发中,时常需要使用消息推送功能,http协议是无状态连接,我们需要一个类似桌面程序中socket保持服务器和客户端连接的技术。signalr就是这样一个技术,他能保持网站页面和服务器的一个长连接,时刻监听服务器端的信息。实现一个简单的signalr功能步骤如下。
1.新建一个.net项目,使用Nuget引用signalr。会在Script文件下生成jquery.signalR-2.2.0.js文件。


2.添加Startup类,注册signalr。
using Microsoft.Owin;
using Owin; [assembly: OwinStartup(typeof(VipSignalR.Startup))] namespace VipSignalR
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
3.添加集线器类ChatHub.cs
using Microsoft.AspNet.SignalR; namespace VipSignalR
{
public class ChatHub : Hub
{
public void Send(string name, string message)
{
Clients.All.ReceiveMessage(name, message);
}
}
}
4.添加前台消息发送和接受的代码
(1)新建一个页面。
(2)添加html。
your name: <input type="text" id="nameTxt"/><br />
message: <input type="text" id="messageTxt" /><br />
<input type="button" id="sendBtn" value="发送" /><br /> 消息记录:<br/>
<div id="msgDiv"></div>
(3)引用js文件。
<script src="~/Scripts/jquery-1.6.4.js"></script>
<script src="~/Scripts/jquery.signalR-2.2.0.js"></script>
<script src="~/signalr/hubs"></script>
其中/signalr/hubs是通过chathubs.cs生成的js文件,可在浏览器resource查看。我们通过这个js文件使用在chathubs.cs中定义的方法。
(4)使用signalr。
<script>
$(function () {
// 引用自动生成的集线器代理
//名称和hub类相同,首字母小写
var chat = $.connection.chatHub; //接受消息,方法名称和参数和hub类中动态解析方法名相同
chat.client.receiveMessage = function (name, message) {
var msg = "<div>" + name + ": " + message + "</div>";
$("#msgDiv").append(msg);
} // 集成器连接开始
$.connection.hub.start().done(function () {
$('#sendBtn').click(function () {
//发送消息,方法名和参数和hub类对应,首字母小写
chat.server.send($("#nameTxt").val(), $('#messageTxt').val());
});
});
});
</script>
5.运行。通过两个浏览器来测试,可达到如下效果。

ASP .NET SignalR起步的更多相关文章
- ASP.NET SignalR入门
		前言 之前在培训ASP.NET WebAPI的时候有提过SignalR这个技术,但当时只是讲了是用来做什么的,并没有多说.因为自己也是画图找资料的时候见到的.后来当一直关注的前端大神贤心发布LayIM ... 
- ASP.NET SignalR 高可用设计
		在 One ASP.NET 的架构图中,微软将 WebAPI 和 SignalR 归类到 Services 类型与 MVC.Web Forms 同列为一等公民,未来的 ASP.NET 5 尽管还在be ... 
- csharp:ASP.NET SignalR
		http://signalr.net/ https://github.com/SignalR/SignalR http://www.asp.net/signalr http://www.cnblogs ... 
- ASP.NET SignalR
		何为ASP.NET SignalR,有什么用 ASP.NET SignalR是一个ASP.NET库,是为了实现实时web通信而创造的,能让服务器与客户端实现即时通信,而不需要服务器等待接收到客户端请求 ... 
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列
		ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言 http://www.cnblogs.com/panzi/p/5742089.html ASP.NET S ... 
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换
		前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来 ... 
- [Asp.net 开发系列之SignalR篇]专题一:Asp.net SignalR快速入门
		一.前言 之前半年时间感觉自己有点浮躁,导致停顿了半年多的时间没有更新博客,今天重新开始记录博文,希望自己可以找回初心,继续沉淀.由于最近做的项目中用到SignalR技术,所以打算总结下Asp.net ... 
- 《ASP.NET SignalR系列》第五课 在MVC中使用SignalR
		接着上一篇:<ASP.NET SignalR系列>第四课 SignalR自托管(不用IIS) 一.概述 本教程主要阐释了如何在MVC下使用ASP.NET SignalR. 添加Signal ... 
- 《ASP.NET SignalR系列》第四课 SignalR自托管(不用IIS)
		从现在开始相关文章请到: http://lko2o.com/moon 接着上一篇:<ASP.NET SignalR系列>第三课 SignalR的支持平台 一.概述 SignalR常常依托于 ... 
随机推荐
- self,和类实例化加不加括号的理解
			# class Dog(object): # def talk(self): # print('汪汪~~~') # print(self) # self就是对象,默认将对象传递到类方法,self不需要 ... 
- Effective C++ 读书笔记(1-7)
			作者 Scott Meyers 翻译作者 侯捷 C++ 神牛 台湾人 术语: 1.explicit C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生.声明 ... 
- day07
			放完了愚人节的假期后就忘记更新了,这样不好,学习的态度也有点懒散了,需要调整过来,这几天在做一个退款流程,想好了建表.逻辑设计和需求分析,然后就是写具体的代码了,有些东西还是要多学习,不然书到用时方恨 ... 
- JQuery制作基础的无缝轮播与左右点击效果
			在网页中我们想要的无缝轮播左右循环有好多好多中,这是我第一个轮播效果,也是最基础的,和大家分享一下,对于初学者希望你们能有所借鉴,对于大神我想让你们尽情的虐我给我宝贵的意见. 这个是我要的效果 进入正 ... 
- 微信小程序开发库grace vs wepy
			grace和wepy都是辅助小程序开发的开源库,本文对两者做个对比. 注:本文是作者本人的一些拙见,纯粹的技术讨论,不想引起技术信仰之争,欢迎积极.正向的讨论及建议. 如果你还不了解Grace, 请参 ... 
- 怎么轻松学习JavaScript
			js给初学者的印象总是那么的“杂而乱”,相信很多初学者都在找轻松学习js的途径.我试着总结自己学习多年js的经验,希望能给后来的学习者探索出一条“轻松学习js之路”.js给人那种感觉的原因多半是因为它 ... 
- LoadRunner Mysql性能优化
			原文:https://blog.csdn.net/u011910905/article/details/49863787 一.查询与索引优化分析 1.show命令: show engines; 显示存 ... 
- JavaScript prototype原型和原型链详解
			用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了, ... 
- windows server 2012 R2汉化 -- 玩转Microsoft Azure
			Microsoft Azure 试用版小试牛刀 首先需要申请一个账号获得试用权 我这里是1元免费试用, 进入后就可以创建自己的虚拟机及数据库 在这里先说创建的windows server 2012 R ... 
- Java 中的纤程库 – Quasar
			来源:鸟窝, colobu.com/2016/07/14/Java-Fiber-Quasar/ 如有好文章投稿,请点击 → 这里了解详情 最近遇到的一个问题大概是微服务架构中经常会遇到的一个问题: 服 ... 
