ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言
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已经蠢蠢欲动了。话不多说,先预览一下效果。
主聊天界面:

好友列表界面:

以及自定义好友,群,聊天历史记录页面等。总而言之呢,确实比LayIM提高了若干个档次。想看更多文档或者效果的话,去官网吧。
好了,进入正题,LayIM 只有界面还是不太饱满的,为此,我将继续开发将它完善,最终效果肯定要比第一版的功能丰富强大的。至于代码上,由于技术有限,肯定会有或多或少的问题,欢迎各位高手指正。本篇博客呢是一篇预告,有兴趣的朋友可以跟着我一起做开发,目前已经进展了一段了,我先把准备工作介绍一下。
===========================================华丽的分割线===========================================
首先呢,要开发Layim当然少不了它这一套框架,layui是完全免费的,layim是分标准版和企业版,是需要收费的,具体呢,去官网了解一下即可,我再此不多做赘述。准备工作如下:
- layim框架
- 开发环境:VS2015 + SQL 2014【08,12也可】 备选:(rabbitmq环境,elasticsearch环境)对后边这两个环境不感兴趣的可不用做配置了。本系列博客将会在最后简单介绍一下。
- 框架架构,简单三层+MVC ,SQL语句加存储过程开发方式。没有用ORM,喜欢用ORM的朋友,可以在建完表之后自行使用ORM实现相关部分业务即可
下面我们先将官网的DEMO跑起来:
项目结构:(代码在博客最终章会开源,博客会跟项目一起走)

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聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)
想要学习的小伙伴,可以关注我的博客哦,我的QQ:645857874,Email:fanpan26@126.com
ASP.NET SignalR 与 LayIM2.0 配合轻松实现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 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)
大家好,本篇是接上一篇 ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言 ASP.NET SignalR WebIM系列第二篇.本篇会带领大家将 LayIM ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。
上篇:ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取) 上一篇我们已经完成了初步界面的搭建工作,本篇将介绍IM的核心内容 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(三) 之 实现单聊,群聊,发送图片,文件。
上篇讲解了如何搭建聊天服务器,以及客户端js怎么和layui的语法配合.服务器已经连接上了,那么聊天还会远吗? 进入正题,正如上一篇提到的我们用 Client.Group(groupId)的方法向客户 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(四) 之 用户搜索(Elasticsearch),加好友流程(1)。
前面几篇基本已经实现了大部分即时通讯功能:聊天,群聊,发送文件,图片,消息.不过这些业务都是比较粗犷的.下面我们就把业务细化,之前用的是死数据,那我们就从加好友开始吧.加好友,首先你得知道你要加谁.L ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现
前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于LayIM已经封装好的上传文件或者图片的问题.对接好接口之后,如果上传速度慢,界面就会出现假死情况,虽然文件正在上传.于是我就简单做了个图标替代 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(六) 之 Layim源码改造右键菜单--好友、组管理功能的实现。
前言 上一篇中讲解了加好友的流程,本篇将介绍好友管理,群组管理的右键菜单功能.当然由于菜单项目太多,都实现也得花费时间.只讲解一下我是如何从不知道怎么实现右键菜单到会自定义菜单的一个过程.另外呢,针对 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。
前言 上一篇讲解了如何自定义右键菜单,都是前端的内容,本篇内容就一个:查询.聊天历史纪录查询,在之前介绍查找好友的那篇博客里已经提到过 Elasticsearch,今天它又要上场了.对于Elastic ...
随机推荐
- 如何打开xip格式的xcode安装包
解决方法如下: 1.保证存储空间 20G 2.去除解压验证 xattr -d com.apple.quarantine Xcode_8_beta.xip 3.双击解压 详见: 从官网下载的 xcode ...
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence
混淆了 python2 里边的 str 和 unicode 数据类型. 1. 对需要 str->unicode 的代码,可以在前边写上 import sys reload(sys) sys.se ...
- Code First04---关于上下文DbContext
这章主要讲怎么配置DbContext的子类访问的数据库的位置. 我相信大家最经常使用的数据库位置的配置方式就是配置文件了,也就是通过App.Config 或Web.Config来配置要访问的数据库. ...
- IoC模式
1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖.如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它.下面看一个 ...
- css3延时动画
不太理解属性都是什么意思,但是有动画效果,我也是惊呆了 <style> #animated_div{animation:animated_div 4s 1; -moz-animation: ...
- Droid4x设置代理抓包
Droid4x也是基于virtualbox+x86架构的 代理设置 设置->WIFI->鼠标按住WiredSSID选项不放->修改网络->显示高级选项->代理-> ...
- IDEA 回滚SVN更新内容
- phpcms导航中添加内部链接
phpcms中栏目有3中类型 1.普通栏目 2.单网页 3.外部链接 其中如果想添加本站的内部链接,可以使用3,然后在添加链接的地方填入剩下的地址即可(需要以/开头) 如: /index.php?m= ...
- easyui只打开一个tab
下面是JS代码: var curr = null; //curr为当前tab的标题,在else中赋值 function addtab(href, tabtitle) { if (curr) { $(' ...
- linux系统性能调优第一步——性能分析(vmstat)
linux系统性能调优第一步--性能分析(vmstat) 分类: LINUX 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介 ...