(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:公众号后台系统和数据都基本准备妥当了,可以来分享下我是如何开发本微信公众号的后台系统了. 首先说说我对公众号后台的简单需求: 读者可以方便的获取历史文章 可以通过关键字查找文章 可以通过发表日期查找文章 基于这样的需求,也基于我的公众号可用的接口(由于是没有微信认证的订阅号,可用接口少得可怜),故设计了如下的实现方案: 后台用一个数据源保存所有文章的信息,具体的字段包含了微信自动回复所需要的必…
整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早贪黑的工作,总是做不到来一次说走就走的旅行. 程序员的生活也是这样.当你觉得自己学有所成是去面试一家互联网公司,很可能面临的是一盆冷水泼下. 面试的人员可能委婉的告诉你:我们是企业级开发,你那些个人演示的项目经验在我们这里的实际项目中几乎没用; 我们做的是分布式应用,分布式你懂吗?我们的应用都是要上…
本教程将使用Visual Studio 2013手把手教你构建一个入门的ASP.NET MVC5 Web应用程序.本教程配套的C#源码工程可通过如下网址下载:C#版本源码链接.同时,请查阅 Building the Chapter Downloads 来完成编译源码和配置数据库. 在本教程中的源码工程,您可在Visual Studio中运行MVC 5应用程序.您也可以使Web应用程序部署到一个托管服务提供商上.微软提供免费的网络托管多达10个网站,free Windows Azure trial…
起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Server LocalDB Edit方法和Edit视图详解 添加查询 Entity Framework 数据迁移之添加字段 添加验证 Details 和 Delete 方法详解 本教程将介绍如何使用Visual Studio Express 2013 Web 预览版,或Visual Studio 20…
最近在捣鼓一个稍微有点low的商城网站,没有计划做app却要求有个wap版,而前端又没有做成响应式,时间WTF,直接利用了asp.net mvc的Display Mode Provider. 使用方式依照上面的链接地址,asp.net mvc application启动的时候会在全局变量 DisplayModeProvider.Instance.Modes 集合中加入 DisplayModeId == "Mobile" 的 IDisplayMode ,因此如果想要在移动端浏览器中展示移…
一 Web Server(Windows)端的配置 1.配置IIS,重要的是管理服务 1.1 配置FTP(前端NPM项目需要) 该步骤略,如果是在阿里云ESC上,需要开启端口21(用来FTP认证握手)和端口40000-60000(用来上传文件)之间. 2.Net Core与.Net Framework. 2.1 .NET Core的运行环境还是生产环境还是测试环境取决于系统环境变量 :ASPNETCORE_ENVIRONMENT 有两个值:Development和Production .Net…
我们在创建项目的时候一定要遵循层次和命名的原则,同时也要有统一的规范,无论是多人项目还是单人项目,能够让人看着一目了然并赏析悦目,做一个有追求的程序员. 例如IA.WebApp是视图控制器层(表现层),IA.Entity是实体层,IA.Business是业务层等等,前面的IA是我们项目的名称(解决方案名称)或者缩写,这个可以根据自己的实际情况来写,后面的是代表层的名称. 接下来我们从创建新的项目开始: 我们打开vs(我用的是vs2013)后选择文件-新建-项目,未创建过项目的朋友注意看上面的截图…
本文主要讲解本项目网站所应用到的知识点,及数据库的相关设计: 一.知识点 (1)本项目主要采取ASP.NET MVC的编程模式,相信你已经了解到了MVC的具体含义是什么,这里不再赘述,有不了解的朋友,可以先了解相关资源,在来接着学习这里的知识. (2)本项目已经进行多次抽象出了数据工厂模式.仓储类.业务层.实体层.及应用层,并将常用的和更改的一些帮助类和数据工厂模式.仓储类等封装成了程序集dll,大家可以直接下载应用或者访问开篇前的文章,里面有详细的讲解,这里不在赘述! (3)本项目前端弹窗主要…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,是我们与用户交互的重要部分,也是用户体验的表现形式,在这里我们需要尽可能的方便用户管理自己的业务信息. 在这个项目的会员中心,主要分为注册.登录.基本信息维护,以及下载充值的日志管理,以及收藏等功能. 在设计页面之前,先下载本项目前台的样式,js文件,解压后并把它放到Content文件下 Web.zip 然后我们…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 本项目属于个人项目,不支持在线支付功能,所有的支付都是扫码支付到个人,再上传到后台进行半自动的充值,所有后台需要一个支付管理功能. 对于需要在线支付的,我们可以使用ASP.NET SignalR的客户端和服务器之间双向通信实现在线支付全自动功能,在这里不多赘述,感兴趣的朋友可以搜搜相关文章. 然后就是我们的广告管理功能,在…
现在该有的结构和层级都有了,下面我们就开始实际应用,首先把需要用的js,css,图片放到Content文件夹中. 这里不详细讲解,大家可根据自己的实际情况,使用合适自己的前端框架,也可以点击下载本项目的前端文件. 本项目主要使用juicer模板绑定数据,以及layer弹窗布局. 一,在表现层添加一个XmlConfig文件夹,下面放置系统所需的配置文件 1.database.config <?xml version="1.0" encoding="utf-8"?…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 项目到上面一步其实已经算完成了,轻博客是本项目的一个附属功能,按个人意愿加上用于记录自己的知识以及资讯以及留言评论,更多的是为了提高自己的同时分享和记录自己的成长见解,当然你也可以赋予他们不同的定义,也可以忽略这一块的功能. 该博客是基于layui的轻量级博客模板布局,喜欢的朋友可以到官网或者这里下载,期待你能创造出属于你…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 本项目主要是一个素材的分享网站,所以在设计网站前端的时候,我们尽量的切合这一主题,在设计上更多的是素材的预览及下载,首页设计为所见即所得的形式,用瀑布流的分页形式来设计,下面可以先欣赏一下页面效果: (1)下面我们开始罗列代码,首先,我们需要改造表现层中的布局页_Layout.cshtml: @using Bobo.Uti…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,主要包含了会员的基本信息维护.充值管理,以及下载充值的日志管理和收藏等功能 首先我们需要在MemberCenterModule区域下的Controller文件中创建MemberSystemController.cs控制器: using Bobo.Utilities; using Bobo.Utilities.Me…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 素材管理模块也是我们这个项目的核心模块,里面的增删查改都跟文章管理模块相同或者相似,唯一不同点可能是对附件的上传处理,但没有涉及到复杂的文件上传,所以我们采用了原生的文件流的形式上传,同时在做了文件在编辑的时候,如果重新上传文件,我们将旧文件删除,这样可以释放更多的服务器空间,以免造成大量垃圾文件堆积. 在创建之前,我们需…
前面我们已经做好了一个文章管理功能模块,接下来,我们回头来做登录窗口,登录不仅涉及到登录验证还涉及到登录日志还有缓存时长等. 对于缓存的相关设置,我们已经写好封装在Bobo.Utilities.dll程序集中,我们只需要引用就好,没有的,请到此处下载. 在实现之前,我们需要先在表现层创建一个Resource文件夹,用于存放我们公共的文件.图片及模板等,然后下载 IPScaner.zip,并加压到Resource文件夹下.     QQwry.dat 纯真IP数据库收集了包括中国电信.中国网通.长…
到这一步,我们整个项目的核心搭建已经算是完成了,接下来就是我们业务功能的实际应用,也就是表现层的设计和实现,如果你是一个项目负责人,到这一步,接下来的工作就可以交给下面的兄弟去完成了,在这里我们用文章管理来详细的讲解一下应用层的搭建.以及数据的加载和分页等. 一.创建控制器和视图 我们在区域BackstageModule下的Controllers文件夹中创建一个名叫ArticleMangeController的控制器,然后通过控制器添视图(Index.cshtml,Form.cshtml),并让…
一.扩展基类和区域创建 (1)在应用之前,我们先在表现层创建一个公共的系统扩展文件来(SystemExtension)存放我们需要延伸和扩展的方法类. 在常规的项目系统操作中,我们都需要用到增删查改的基础操作管理,所以我们可以建一个公共的控制控制器(PublicController)来让用得到的控制器来继承,当然如果特殊和复杂的操作,我们在进行方法重写. PublicController.cs using Bobo.DataAccess.DataBase; using Bobo.Reposito…
在创建业务层之前,我们先来熟悉一下业务仓储工厂Bobo.Repository.dll程序集,后续的业务操作,我们都将通过这个程序集中的方法传递数据库操作,其介于数据库操作与业务层之间,详情可前往<MVC仓储类Repository>查看. 1.RepositoryFactory<T> where T : new() 类:业务仓储工厂,负责创建继承至IRepository接口的类的对象实例 (1)方法 IRepository<T> Repository()  获取当前泛型指…
1)布局视图,用于协调普通视图和共享视图,实现js库自由选择引用 @{ //具体页面定义好需要引入的js文件,在这里通过共享视图渲染出来 var jsDefines = ViewBag.JsDefines as List<string>; if (jsDefines != null) { Html.RenderPartial("_JsDefines", jsDefines); } } 2)具体普通视图,可以自由选择引入哪些js库引用 @model List<strin…
nginx 官方下载地址 http://nginx.org/en/download.html 一般.net项目要运行在IIS环境下,自然选择windows版下载 我这里下载了nginx/Windows-1.14.0并解压包,conf目录下找到nginx.conf文件,使用记事本方式打开. 里面主要分为几大块,全局块.events块.http块.server块和location块. 下面是设置好的配置文件. #########-全局块-######### #user administrator a…
前言 “厂长,APP的那几个功能都差不多了,接下来要做工作流,工作流这东西我完全没概念啊.” “查尔斯,一般来说工作流就是指将指定的数据.文件.任务按照预定的规则进行传递流转.比如说你要请假,拿个请假条先让我审核,审核完了再让人事审核,人事审完流程就算走完了.” “那我们需要做些什么东西呢?” “还是接着我刚刚的例子来说,首先是请假条,这个请假条就是数据的载体.” “明白了厂长,那我做一个页面,把请假条的做出来.” “傻X,那还有请款单.请购单.借支单...你都一个个去做?而且用户需要自己再修改…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c 几个后台功能模块的完成也就几小章内容,但其实里面应用到的知识点还是蛮多的,只有我们一行一行的去敲击代码才能体会,所以在我们学习的过程中一定要动手去写,不明白的需要去搜索百度查询相关的知识. 就比如本项目其实是我很早就做成了的,但为了写一部该系列的文章,我又重创建项目开始,一步步往下走,在这过程中一些之前不明就里的知识点突然…
业务层主要负责定义业务逻辑(规则.工作流.数据完整性等),接收来自表示层的数据请求,逻辑判断后,向数据访问层提交请求,并传递数据访问结果,业务逻辑层实际上是一个中间件,起着承上启下的重要作用. 在我们的项目中,所有的数据库语句和和逻辑判断尽量写在业务层(IA.Business)里面,这样既能规范层级的作用,同时也规范团队协作的标准,我们在业务层中的类都以实体类名称加上Bll来命名(如:Base_SysLogBll.cs). 首先,我们需要创建业务类IA.Business: 创建好之后,我们需要引…
实体层是介于表现层和业务层之间,同时也作为数据载体贯穿了整个项目之间的数据传递,创建实体有很多方法,我们可以手工创建,也可以代码生成引擎等等,我们这里主要应用数据实体模型连接生成: 创建好之后,我们需要引用两个底层的程序集: 然后我们需要在这个类库下新建一个BaseEntity文件夹,并创建一个也叫BaseEntity.cs的公共实体基类: using System; using System.Collections.Generic; using System.Linq; using Syste…
源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValue=c891ffae-7441-4afb-9a75-c5fe000e3d1c     这是一个比较简单的应用型网站,但确实很合适学习之用,里面用到了很多很实际的知识,也是自己做了一段时间项目的积累还有心得,以及前人的智慧. 也希望能够帮助到你,具体的效果可以看下面的示意图,也可以直接进入落页网上浏览,并希望你能指出不足之处.…
不知不觉 又逢年底, 穷的钞票 所剩无几. 朋友圈里 各种装逼, 抹抹眼泪 MVC 继续走起.. 本系列纯属学习笔记,如果哪里有错误或遗漏的地方,希望大家高调指出,当然,我肯定不会低调改正的.(开个小玩笑.哈哈.) 参考书籍:<ASP.NET MVC 4 Web编程>.<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业及应用>.度娘谷歌等. -= 安…
Asp.net MVC contorllers 在Ajax全面开花的时代,ASP.NET Web Forms 开始慢慢变得落后.有人说,Ajax已经给了Asp.net致命一击.Ajax使越来越多的控制在Html和客户端代码完成.随着时间的推移,导致了架构的变化,也使ASP.NET Web Forms有点不能适应当今潮流. 基于当前的ASP.NET运行时环境和MVC模式,诞生了一个新的架构——ASP.NET MVC,这种组合的Web开发模式顺应了当今的开发的趋势. 在ASP.NET MVC中,每一…
对于一个企业级项目开发,模块化是非常重要的. 默认Mvc框架的AreaRegistration对模块化开发真的支持很好吗?真的有很多复杂系统在使用默认的分区开发的吗?我相信大部分asp.net的技术团队最开始都研究过分区,甚至在实际项目里面有尝试运用,但是碰到了种种问题"各种坑",最后回头是岸放弃了(我们的团队也碰到了类似问题,也有人评论中说起,直接搜索asp.net mvc分区也有不少类似信息). 有人说asp.net Mvc框架就不适合做模块化开发,我们可以弄一个其他框架来做企业级…
项目开发从来就不是一个简单的问题.更难的问题是维护其他人开发的项目,并且要修改bug.如果原系统有重大问题还需要重构. 怎么重构系统不是本文探讨的问题,但是重构后如何上线部署和本文关系密切.这个大家可能刚兴趣. 言归正传,现在演示一下如果做到部分版本和部分模块更新. Asp.net Mvc模块化开发系列目录 1. Asp.net MVc模块化开发之分区扩展框架(送源码) 2. Asp.net Mvc模块化开发之“开启模块开发.调试的简单愉快之旅” 3. Asp.net Mvc模块化开发之“逻辑(…