ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言

时间:2022-12-29 12:34:46

 2018-09-19 更新 :现在已经更新ASP.NET Core Middleware版本。对.NET Core SignalR感兴趣的朋友移步:https://github.com/fanpan26/LayIM.AspNetCore

 前端时间听一个技术朋友说 LayIM 2.0 发布了,听到这个消息抓紧去官网看了一下。(http://layim.layui.com/)哎呀呀,还要购买授权【大家支持一下哦】,果断买了企业版,喜欢钻研的我没有源码怎么行,说来也惭愧,发布好久了我才知道。之前写过一系列的博客,当时是ASP.NET SignalR 结合 LayIM 1.0 的一个小程序。看了一下最新版本的LayIM,太赞了。我电脑里的VS已经蠢蠢欲动了。话不多说,先预览一下效果。

  主聊天界面:

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言

  好友列表界面:

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言      ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言

  以及自定义好友,群,聊天历史记录页面等。总而言之呢,确实比LayIM提高了若干个档次。想看更多文档或者效果的话,去官网吧。

  好了,进入正题,LayIM 只有界面还是不太饱满的,为此,我将继续开发将它完善,最终效果肯定要比第一版的功能丰富强大的。至于代码上,由于技术有限,肯定会有或多或少的问题,欢迎各位高手指正。本篇博客呢是一篇预告,有兴趣的朋友可以跟着我一起做开发,目前已经进展了一段了,我先把准备工作介绍一下。

===========================================华丽的分割线===========================================

  首先呢,要开发Layim当然少不了它这一套框架,layui是完全免费的,layim是分标准版和企业版,是需要收费的,具体呢,去官网了解一下即可,我再此不多做赘述。准备工作如下:

  • layim框架
  • 开发环境:VS2015 + SQL 2014【08,12也可】 备选:(rabbitmq环境,elasticsearch环境)对后边这两个环境不感兴趣的可不用做配置了。本系列博客将会在最后简单介绍一下。
  • 框架架构,简单三层+MVC ,SQL语句加存储过程开发方式。没有用ORM,喜欢用ORM的朋友,可以在建完表之后自行使用ORM实现相关部分业务即可

  下面我们先将官网的DEMO跑起来:

  项目结构:(代码在博客最终章会开源,博客会跟项目一起走

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言

  BLL,DAL,Model我就不介绍了。Utils有一些帮助方法,ChatServer是signalR核心代码类库(Hub代码),至于Queue,ElasticSearch 先放一边,不要管,建好空项目就好。

  我们先来到UI界面,将layim框架放到项目里面,layim当中js都是以这种形式引用和执行的。

layui.use(['layim', 'hub'], function (layim, hub) {})

  那么我们也入乡随俗,至于怎么修改js,下一章我会详细介绍,在此,我们先让layim在项目中跑起来。DEBUG-调试,走起~~ 检查一下console有没有js错误,看看界面有没有出来.如我们所愿,开局还算顺利,不过后边的路还长,加油。周末来了,代码撸起来。

  ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言

  下篇预告【初级】ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)

  想要学习的小伙伴,可以关注我的博客哦,我的QQ:645857874,Email:fanpan26@126.com

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言的更多相关文章

  1. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列

    ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言  http://www.cnblogs.com/panzi/p/5742089.html ASP.NET S ...

  2. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换

    前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来 ...

  3. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)

    大家好,本篇是接上一篇 ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言  ASP.NET SignalR WebIM系列第二篇.本篇会带领大家将 LayIM ...

  4. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。

    上篇:ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取) 上一篇我们已经完成了初步界面的搭建工作,本篇将介绍IM的核心内容 ...

  5. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(三) 之 实现单聊,群聊,发送图片,文件。

    上篇讲解了如何搭建聊天服务器,以及客户端js怎么和layui的语法配合.服务器已经连接上了,那么聊天还会远吗? 进入正题,正如上一篇提到的我们用 Client.Group(groupId)的方法向客户 ...

  6. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(四) 之 用户搜索(Elasticsearch),加好友流程(1)。

    前面几篇基本已经实现了大部分即时通讯功能:聊天,群聊,发送文件,图片,消息.不过这些业务都是比较粗犷的.下面我们就把业务细化,之前用的是死数据,那我们就从加好友开始吧.加好友,首先你得知道你要加谁.L ...

  7. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现

    前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于LayIM已经封装好的上传文件或者图片的问题.对接好接口之后,如果上传速度慢,界面就会出现假死情况,虽然文件正在上传.于是我就简单做了个图标替代 ...

  8. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(六) 之 Layim源码改造右键菜单--好友、组管理功能的实现。

    前言 上一篇中讲解了加好友的流程,本篇将介绍好友管理,群组管理的右键菜单功能.当然由于菜单项目太多,都实现也得花费时间.只讲解一下我是如何从不知道怎么实现右键菜单到会自定义菜单的一个过程.另外呢,针对 ...

  9. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。

    前言 上一篇讲解了如何自定义右键菜单,都是前端的内容,本篇内容就一个:查询.聊天历史纪录查询,在之前介绍查找好友的那篇博客里已经提到过 Elasticsearch,今天它又要上场了.对于Elastic ...

随机推荐

  1. js中val()和value的区别

    val()是在有jQuery插件的时候才能用,value是在没有jQuery插件的情况下也能用.val()是jQuery根据原生JS里面的value写出来的函数 $(this).val(); 有四个重 ...

  2. AVL树的算法思路整理

    http://www.cnblogs.com/heqile/archive/2011/11/28/2265713.html 看完了<数据结构与算法分析(C++描述)>的4.4节AVL树,做 ...

  3. js实现表格

    主要方法如下,然后今天学到了js的几个函数知识点. 1.eval()函数: 定义和用法eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法eval(string) 其 ...

  4. 如何在&period;Net中使用Redis

    Redis是一个key-value存储系统.和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表).sets( ...

  5. 并发编程 futuretask

    package com.mrbird.api.demoThread.future; import java.util.concurrent.Callable; import java.util.con ...

  6. 两层c&colon;forEach循环嵌套

    jsp中两级菜单如何用c:forEach输出 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个元素(0=第一个元素,1=第二个元素 ...

  7. 本地搭了http服务&lpar;localhost&rpar;&comma;怎么在vue环境下,通过axios获取到接口数据

    1. 找到 vue项目\config\index.js 文件 2. proxyTable: { '/api': { target: 'http://127.0.0.1:9420', changeOri ...

  8. c&num; JSON格式转对象

    using Newtonsoft.Json; List<string> ChapterIdList = JsonConvert.DeserializeObject<List<s ...

  9. 本地数据库导入线上服务器的mongodb中

    更改默认端口 sudo vi /etc/mongod.conf 进入conf文件,修改port值为19999保存并退出. 重启mongodb sudo service mongod restart 进 ...

  10. C&num; Winform下一个热插拔的MIS&sol;MRP&sol;ERP框架15(窗体基类场景1)

    最基础的窗体基类其实是通过应用场景反推的结构. 以下是场景一: 单表应用,普通的数据,比如单位/颜色/特殊字典等使用者少的,无需过多控制的可以使用一个数据表格来管理. 和Excel表格差不多,批量修改 ...