博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用SignalR 2 注意事项
阅读量:7262 次
发布时间:2019-06-29

本文共 1679 字,大约阅读时间需要 5 分钟。

 

1、出现错误: signalR Error during WebSocket handshake: net::ERR_CONNECTION_RESET

2、引用SignalR 最新版

SignalR 2  需要.Net 4.5 PM> Install-Package Microsoft.AspNet.SignalR 默认使用的是 Newtonsoft.Json.6.0.0 , 如果项目之前已经引用过了 Newtonsoft.Json,请改为与 SignalR 同版本的!

3、创建Startup.cs 类

using System;using System.Threading.Tasks;using Microsoft.Owin;using Owin;[assembly: OwinStartup(typeof(WD.Web.MVC.Startup))]namespace WD.Web.MVC{    public class Startup    {        public void Configuration(IAppBuilder app)        {            // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888            app.MapSignalR();        }    }}

4、创建集线器 ChatHub.cs 类

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Web;using Microsoft.AspNet.SignalR;using System.Runtime.Serialization.Json;using Newtonsoft.Json;using WD.Db.Contract;using WD.Web.MVC.Common;using WD.Web.MVC.SignalR;namespace WD.Web.MVC{    public class ChatHub : Hub    {        public void Online()        {
Clients.All.SendMsg("张三","上线了" ); } }}

5、客户端初始化

var chat = $.connection.chatHub;   (chatHub 为后台集线器的类名,不过要把首字母小写)

  chat.client.SendMsg = function (name, message) {  

    

    // SendMsg与集线器中的函数名保持一致,例:Clients.All.SendMsg("张三", "上线啦"),返回参数自定义,保持一致即可

     //TODO 处理接受消息      

  };

 $.connection.hub.start().done(function () {

  //TODO 发送上线消息

  chat.server.online();

  //TODO 初始化各种事件

 })

 6、从外部线程访问PersistentConnection 或者 Hub

var context = GlobalHost.ConnectionManager.GetHubContext
<自定义的hub名称>
(); var context = GlobalHost.ConnectionManager.GetHubContext
<自定义的persistentconnection名称>
();

 

转载于:https://www.cnblogs.com/skywolf627/p/7163336.html

你可能感兴趣的文章
创新型政府网站群建设
查看>>
DBCP连接池配置参数说明
查看>>
Android Dock底座应用开发
查看>>
Linux设备驱动剖析之IIC(二)
查看>>
GCD多线程使用
查看>>
wordpress自动截取文章摘要代码
查看>>
hdu 4294(bfs)
查看>>
javascript笔记:javascript的关键所在---作用域链
查看>>
input text框和 checkbox 连带被选中的情况
查看>>
X86调用约定 calling convention
查看>>
Entity Framework 5.0基础系列
查看>>
C# 连接和操作SQL SERVER数据库
查看>>
百度地图 android SDKv2.2.0
查看>>
Android源码在线查看网址
查看>>
Android NDK r9的配置与使用
查看>>
PHP5.5 + IIS + Win7的配置
查看>>
Android--序列化XML数据
查看>>
init_sequence所对应的函数
查看>>
mac系统如何关闭root账户
查看>>
Leetcode: Partition List
查看>>