NET使用ABP框架搭建项目
NET使用ABP框架搭建博客项目(一)
有很多学NET开发的小伙伴建项目都比较茫然,我用什么开发?我都使用什么框架?我怎么起名字?种种问题,让一些低等、中等的工程师(甚至是高级工程师)很烦躁。
推荐一款土耳其大牛写的框架ASP.NET Boilerplate 简称 ABP,它适用于中小型项目(中小型代表了95%的项目,除非你的项目有几千万硬性的用户需求,或是几百万的并发)。 tkb至简 有对abp的简单介绍(也只是英文版翻译过来的),这里我简单介绍下abp。abp是一款DDD模式的框架,它具备分层以及模块化的结构,框架本身含有授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审计日志等,ABP是一个开源的且文档友好的应用框架,起始的想法是,“开发一款为所有公司和开发者通用的框架!”。它不仅仅是一个框架,更提供了一个基于DDD和最佳实践的健壮的体系模型。
好了进入正题,打开官网http://www.aspnetboilerplate.com/
第一步,选择 Multi Page Web Application,我们简单的来单页面开发模式(常用的view开发)
第二部,选择数据映射实体框架(EF,微软的嘛)
第三部,去掉勾选的Include Module Zero (我不喜欢他设计的用户模块,不适合中国人,所以我要自己开发)
第四部,输入你的项目名称,我用Blog_Solution
填好了以后,等待项目下载成功。
打开项目第一件事是还原Nuget包(我个人有强迫症,更新了旧版的nuget包内容)。还原好了以后我们重新生成下项目
然后我们重新审视下项目
我在这里解释下这5个项目:
Blog_Solution.Application 引用层,用来实现业务逻辑、数据转换的项目;
Blog_Solution.Core核心层,我一般把实体写到这里面,包含一些辅助工具和其他相关的内容;
Blog_Solution.EntityFramework数据层,连接数据库的项目包含迁移、更新等;
Blog_Solution.Web表示层,一般我把他当做我的管理后台来处理,主要应用对象为运营人员
Blog_Solution.WebApi接口,假设我需要做多平台的项目,用来做数据对接,例如web、App、微信等
我们需要删除一些东西,例如本地化多余的资源,一般项目我们只用到两种语言(中文、英文)好我们删除其他的相关语言包Blog_Solution.Web/Localization/Blog_Solution只留下Blog_Solution-zh-CN.XML和Blog_Solution.XML,并且打开App_Start里面的Blog_SolutionWebModule类,前置启动方法中删除日本语和土耳其语并且把中文设置为默认语言
Configuration.Localization.Languages.Add(new LanguageInfo("en", "English", "famfamfam-flag-england"));
Configuration.Localization.Languages.Add(new LanguageInfo("zh-CN", "简体中文", "famfamfam-flag-cn",true));
- 1
- 2
然后把web设置为启动项运行起来,我们就会发现语言包只剩下两个了,并且中文为默认语言如下图:
NET使用ABP框架搭建项目的更多相关文章
- ABP框架搭建项目系列教程基础版完结篇
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...
- 一步一步使用ABP框架搭建正式项目系列教程之本地化详解
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...
- 关于使用ABP框架搭建的项目升级时需要注意的问题汇总
ABP理论学习总目录 一步一步使用ABP框架搭建正式项目系列教程 ABP之Module-Zero学习目录 本篇目录 说明 升级方法 问题_01:Log4Net导致编译不成功 2015/12/18更新 ...
- 从零开始--Spring项目整合(1)使用maven框架搭建项目
这些年一直在用spring的框架搭建项目,现在开始我们从零开始利用Spring框架来搭建项目,目前我能想到有Spring.SpringMVC.SpringJDBC.Mybatis.WebSockt.R ...
- 一步一步使用ABP框架搭建正式项目系列教程
研究ABP框架好多天了,第一次看到这个框架的名称到现在已经很久了,但由于当时内功有限,看不太懂,所以就只是大概记住了ABP这个名字.最近几天,看到了园友@阳光铭睿的系列ABP教程,又点燃了我内心要研究 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目
首先,默认咱们已经有了.net core 3.1的开发环境,如果你没有,快去下载... https://dotnet.microsoft.com/download 由于项目是基于abp vNext开发 ...
- 基于springcloud框架搭建项目-Eureka篇(一)
springcloud项目近年来算是很流行的了,不少公司项目目前都用到了,毕竟优点很多,刚好公司项目用到了,根据自己的理解,简单搭建一下,以便以后学习 这里简单的介绍一下它: SpringCloud, ...
- 使用VUE框架搭建项目基本步骤
ps:初入Vue坑的小伙伴们,对于独立做一个项目可能不清楚需要使用哪些资源,这篇随笔希望对大家有所帮助. 第一步:参照vue的官方文档,建立一个vue的项目 # 全局安装 vue-cli $ npm ...
- abp框架angular 项目docker 手动部署到Linux环境中
1.https://aspnetboilerplate.com/Templates 2.后端项目发布,在publish中abp默认已经存在DockerFile文件 3.修改后端文件中的DockerFi ...
随机推荐
- Nginx系列(一)--nginx是什么?
一.介绍 Nginx是一个高性能的HTTP和反向代理server,也是一个IMAP/POP3/SMTP代理server. Nginx是一款轻量级的Webserver/反向代理server以及电子邮件代 ...
- Flume的client
Client:生产数据,运行在一个独立的线程.
- 深入理解Linux启动过程
深入理解Linux启动过程 本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统.LILO 和GRUB引导装载程序,以及bootsect.setup.vmlinux等映像文件 ...
- Dialog和FormView如何派生通用类
派生通用类涉及到派生类的构造函数需要传递窗口ID和CWnd,所以要在派生类中事先定义好 在Dialog中构造函数是这样定义的 public: CDialogEx(); CDialogEx(UINT n ...
- CentOS不能进入登录界面
http://blog.csdn.net/powerzone/article/details/6798646
- 洛谷 P2655 2038年问题
P2655 2038年问题 题目描述 网络时代,机会与危机共存.“千年虫”解决之后,会不会有新的“虫”出现?回答是肯定的,“2038年”就是一个新的关卡. 也许大家都已经知道计算机的2000年问题是什 ...
- C++中引用传递与指针传递区别
C++中引用传递与指针传递区别 在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传递参数是有本质上的不同的: 指针传递参数本质上是值传递的方式,它所传递的是一个地址值.值传递过程 ...
- [selenium]选取下拉框内容的方法
说明:本文章主要是对select元素操作的讲解,非select元素的下拉框需要另外分析 1.select元素示例: 2.select下拉框选取的3种方法 WebElement selector = d ...
- Tomcat源代码阅读#1:classloader初始化
Bootstrap 通过Tomcat的启动脚本能够看到启动的入口是在Bootstrap,来看下Bootstrap的main方法, /** * Main method and entry point w ...
- cdn缓存
1:缓存是什么? 首先.看看没有站点没有接入CDN时.用户浏览器与server是怎样交互的: 假设中间加上一层CDN,那么用户浏览器与server的交互例如以下: client浏览器先检查是否有本地缓 ...