如何使用SignalR 2.0

一:首先通过Nuget安装SignalR 2.0 【本人使用的时候最新版本为2.0】2.0与之前1.X有部分命名空间和配置不同请注意

二:建一个专门的类库用来负责SignalR 2.0的服务端

如果之前已经安装好了SignalR 2.0 可能新添加的类库里面没有SignalR 2.0相关代码 那么可以通过以下方式安装进去

安装语句  install-package Microsoft.AspNet.SignalR

注意在前台的SignalR 版本必须跟服务端的一致 不然会出现无法通信的情况

三:服务端代码示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs; namespace PB.Common.HubLibrery
{
[HubName("myHubPms")]
public class HubPMS : Hub
{ public void send(string msg)
{
Clients.All.addMessage(msg);
} }
}

在前台建立一个Startup类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Owin;
using Microsoft.Owin;
[assembly: OwinStartup(typeof(PB.UI.BS.Startup))] namespace PB.UI.BS
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
} }
}

在MVC的webconfig里面添加一行代码
appSettings里面添加

  <add key="owin:AppStartup" value="PB.UI.BS.Startup, PB.UI.BS" />

这里的格式是这样的

<add key="owin.AppStartup" value="命名空间.Startup,命名空间"/>

好了现在可以看下前台如何调用

在页面上面引入一下JS

<script src="/Scripts/jquery.signalR-2.0.0.min.js" type="text/javascript"></script>
<script src="/signalr/hubs" type="text/javascript"></script>

JS代码 此JS代码为登陆的时候自动向服务端发送消息

$(function () {
$("#d_username").focus();
var IWannaChat = $.connection.myHubPms; $.connection.hub.start().done(function () {
$('#btnLogin').click(function () {
//服务
IWannaChat.server.send($("#d_username").val() + "正在登陆中...");
// Call the Send method on the hub.
chat.server.send($('#displayname').val(), $('#message').val());
// Clear text box and reset focus for next comment.
loginIn();
});
}); $("#btnLogin").click(loginIn);
})

JS2:此JS为接收服务端发送的消息 显示在页面上

$(function () {
var IWannaChat = $.connection.myHubPms; //这个主要是接收后台处理的结果,然后打印到前台来
IWannaChat.client.addMessage = function (message) {
$("#log").append("<li>" + message + "</li>");
}; //开启(长轮训的方式)
$.connection.hub.start();
});

SignalR 2.0 初次使用说明的更多相关文章

  1. 用SignalR 2.0开发客服系统[系列2:实现聊天室]

    前言 交流群:195866844 上周发表了 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 这篇文章,得到了很多帮助和鼓励,小弟在此真心的感谢大家的支持.. 这周继续系列2,实现聊天室 ...

  2. 用SignalR 2.0开发客服系统[系列3:实现点对点通讯]

    前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 真的很感谢大家的支持,今天发表系列3 ...

  3. 用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]

    前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 用SignalR 2.0开发客服系统 ...

  4. 用SignalR 2.0开发客服系统[系列5:使用SignalR的中文简体语言包和其他技术点]

    前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.0开发客服系统[系列2:实现聊天室] 用SignalR 2.0开发客服系统 ...

  5. csc.rsp Nuget MVC/WebAPI 5.0、SignalR 2.0、Rx、Json、Azure、EntityFramework、OAuth、Spatial

    # This file contains command-line options that the C# # command line compiler (CSC) will process as ...

  6. [渣译文] SignalR 2.0 系列:SignalR的服务器广播

    英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET SignalR 2.0系列的翻译,这里是第八篇:SignalR的服务器广 ...

  7. SignalR 2.0 系列: 开始使用SignalR 2.0

    这是微软官方SignalR 2.0教程Getting Started with ASP.NET SignalR 2.0系列的翻译,这里是第四篇:开始使用SignalR 2.0 原文:Getting S ...

  8. SignalR 2.0 系列:SignalR的服务器广播

    英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET SignalR 2.0系列的翻译,这里是第八篇:SignalR的服务器广 ...

  9. ASP.NET Signalr 2.0 实现一个简单的聊天室

    学习了一下SignalR 2.0,http://www.asp.net/signalr 文章写的很详细,如果头疼英文,还可以机翻成中文,虽然不是很准确,大概还是容易看明白. 理论要结合实践,自己动手做 ...

随机推荐

  1. TOJ1334

                                                                   1334: Oil Deposits 时间限制(普通/Java):1000 ...

  2. JS与Struts标签page

    <html> <html:link name="map"  page="/xxx/xxx/xxx_delete_do.do"         ...

  3. 在AndroidStudio不能找到so文件问题:couldn't find libweibosdkcore.so

    解决步骤已经写到我的公众号,二维码在下面. 欢迎观看我的CSDN学院课程,地址:http://edu.csdn.net/course/detail/2877 本人联系方式: 更多精彩分享,可关注我的微 ...

  4. mysql配置命令 CHARACTER_SET_%字符集设置

    参照: http://blog.csdn.net/mzlqh/article/details/7621307点击打开链接 其实现在的ubuntu12. 直接sudo apt-get install M ...

  5. pyside 为窗口添加图片

    有时我们需要添加一些图片到窗口上,下面给一个通过QLable实现的方法. 这里需要注意的是,当你启用多线程时,方法调用的setPixmap,会导致qt报出一个线程安全错误. 因此,让这个绘图工作尽量在 ...

  6. Javascript中数组与字典(即map)的使用

    简述: 简单记录一下数据结构Map和数组, 其实在Javascript这种弱类型的脚本语言中,数组同时也就是字典,下面主要就是字典数组的简易使用   代码: 1. 数组中添加map <!DOCT ...

  7. ubuntu 常见问题

    1.problem 1 用apt-get安装时,提示:E could not get lock /vaa/lib/dpkg/lock -open等 reasons :可能是由于上次使用apt-get ...

  8. Java 和C/C++的“语法”上的差异!

    额其实认为语言语法之间是没有可比性的! 但是因为额曾经学过C/C++,而今又学Java,有赵本山说的话:“知识都学杂了!”,所以我个人总结一下,望提醒自己! Java C++ double 要用%f: ...

  9. java获取图片原始尺寸

    java获取图片原始尺寸 URL url = null; InputStream is = null; BufferedImage img = null; try { url = new URL(pi ...

  10. 一款好用且免费的语句分析工具Plan Explorer

    在调优过程中的查询语句优化阶段,分析语句的执行计划是必经之路,一款好的执行计划分析工具确实可以帮助我们事半功倍 小贴士:Plan Explorer是将Plan Explorer 专业版与免费版整合在一 ...