12 2015 档案

摘要:"返回总目录" 本篇目录 "介绍" "开启错误处理" "非Ajax请求" "展示异常信息" "UserFriendlyException" "Error模型" "Ajax请求" "异常事件" <a name='intro' </a 介绍 在一个web应用中,异常通常是在... 阅读全文
posted @ 2015-12-31 21:47 tkbSimplest 阅读(14325) 评论(7) 推荐(28) 编辑
摘要:"返回总目录" 本篇目录 "创建菜单" "注册导航提供者" "展示菜单" 每一个web应用在页面之间都有一些要导航的菜单。ABP提供了公用的基础设施来创建菜单并将菜单展示给用户。 <a name='create' </a 创建菜单 一个应用可能由不同的模块组成,每个模块可能有它自己的菜... 阅读全文
posted @ 2015-12-30 21:39 tkbSimplest 阅读(5759) 评论(2) 推荐(27) 编辑
摘要:"返回总目录" 本篇目录 "验证介绍" "使用数据注解" "自定义验证" "标准化" <a name='intro' </a 验证介绍 首先应该验证应用的输入。用户或者其它应用都可以向该应用发送输入。在一个web应用中,验证通常要实现两次:在客户端和服务器端。客户端的验证大多数情况下... 阅读全文
posted @ 2015-12-29 22:35 tkbSimplest 阅读(8971) 评论(10) 推荐(37) 编辑
摘要:"返回总目录" 本篇目录 "为何需要DTO" "领域层抽象" "数据隐藏" "序列化和懒加载问题" "DTO惯例和验证" "DTO和实体的自动映射" "使用特性和扩展方法进行映射" "帮助接口" DTO用于 应用层 和 展现层 间的数据传输。展现层调用具有DTO参数的 ... 阅读全文
posted @ 2015-12-29 12:19 tkbSimplest 阅读(18060) 评论(7) 推荐(68) 编辑
摘要:"返回总目录" 本篇目录 "IApplicationService接口" "ApplicationService类" "工作单元" "数据库连接和事务管理" "自动保存更改" "更多" "应用服务的生命周期" 应用服务用于将领域逻辑暴露给展现层。展现层调用具有DTO参数的应用服务,使用领域对象来执行 阅读全文
posted @ 2015-12-28 18:05 tkbSimplest 阅读(7413) 评论(10) 推荐(42) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "预定义过滤器" "关闭过滤器" "开启过滤器" "设置过滤器参数" "定义自定义过滤器" "其他ORM" <a name='intro' </a 介绍 软删除 模式通常用于不会真正从数据库删除一个实体而是仅仅将它标记为"已删除的"。这样,... 阅读全文
posted @ 2015-12-27 11:32 tkbSimplest 阅读(11456) 评论(2) 推荐(36) 编辑
摘要:"返回总目录" 本篇目录 "事件总线" "定义事件" "触发事件" "处理事件" "句柄注册" "取消注册" 在C 中,我们可以在一个类中定义自己的事件,而其他的类可以注册该事件,当某些事情发生时,可以通知到该类。这对于桌面应用或者独立的windows服务来说是非常有用的。但对于一个web应用来说是 阅读全文
posted @ 2015-12-26 20:56 tkbSimplest 阅读(15241) 评论(7) 推荐(68) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "创建内嵌文件" "暴露内嵌文件" "使用内嵌文件" <a name='intro' </a 介绍 在一个web应用中,有供客户端使用的javascript,css,xml等文件。它们一般是作为分离的文件被添加到web项目中并发布。有时,我们需要将... 阅读全文
posted @ 2015-12-25 23:08 tkbSimplest 阅读(3789) 评论(2) 推荐(25) 编辑
摘要:"返回《Module Zero学习目录》" ABP v0.7.6.0 创建组织单元系统。 升级了nuget包。 小修复和改进。 注意: AbpUserManager的构造函数更新了。添加了组织单元注入。看例子: "点击查看" 创建了新的实体。因此,需要为EF项目... 阅读全文
posted @ 2015-12-24 22:47 tkbSimplest 阅读(2561) 评论(0) 推荐(5) 编辑
摘要:"返回总目录" 本篇目录 "公共连接和事务管理方法" "ABP中的连接和事务管理" "仓储类" "应用服务" "工作单元" "工作单元详解" "关闭工作单元" "非事务的工作单元" "工作单元方法调用其它" "工作单元作用域" "自动保存" "IRepository.GetAll()方法" "Uni 阅读全文
posted @ 2015-12-24 21:49 tkbSimplest 阅读(24304) 评论(15) 推荐(89) 编辑
摘要:"返回总目录" 本篇目录 "Nuget包" "配置" "实体映射" "仓储" "仓储基类" "实现仓储" "自定义仓储方法" "阅读其他" ABP可以使用任何ORM框架工作,并且已经内置了 NHibernate 集成。这篇文章会解释如何在ABP中使用NHibernate。阅读本文的前提是假设你已经熟 阅读全文
posted @ 2015-12-24 00:02 tkbSimplest 阅读(4520) 评论(2) 推荐(7) 编辑
摘要:"返回总目录" 本篇目录 "Nuget包" "创建DbContext" "仓储" "仓储基类" "实现仓储" "自定义仓储方法" "阅读其他" ABP可以使用任何ORM框架工作,并且已经内置了 EntityFramework 集成。这篇文章会解释如何在ABP中使用Entit... 阅读全文
posted @ 2015-12-23 17:22 tkbSimplest 阅读(9784) 评论(1) 推荐(27) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "IDomainService接口和DomainService类" "样例" "创建一个接口" "服务实现" "调用应用服务" "一些讨论" "何不只使用应用服务" "如何强制使用领域服务" <a name='intro' </... 阅读全文
posted @ 2015-12-23 00:16 tkbSimplest 阅读(14062) 评论(9) 推荐(65) 编辑
摘要:"返回总目录" 本篇目录 "IRepository接口" "查询" "插入" "更新" "删除" "其他" "关于异步方法" "仓储实现" "管理数据库连接" "仓储的生命周期" "仓储最佳实践" Martin Fowler对仓储的定义 位于领域层和数据映... 阅读全文
posted @ 2015-12-22 12:46 tkbSimplest 阅读(19496) 评论(10) 推荐(87) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "配置" "通过特性开启/关闭" "注意" "我项目中的例子" <a name="intro" </a 介绍 维基百科说: “审计跟踪(也叫审计日志)是与安全相关的按照时间顺序的记录,记录集或者记录源,它们提供了活动序列的文档证据,这些活动序... 阅读全文
posted @ 2015-12-21 13:45 tkbSimplest 阅读(14351) 评论(2) 推荐(36) 编辑
摘要:"返回总目录" 本篇目录 "实体类" "惯例接口" "审计" "软删除" "激活/未激活" "IEntity接口" 实体是DDD(领域驱动设计)的核心概念之一。Eirc Evans是这样描述的实体的:“它根本上不是通过属性定义的,而是通过一系列连续性和标识定义的”。因此,实... 阅读全文
posted @ 2015-12-20 22:57 tkbSimplest 阅读(14483) 评论(6) 推荐(67) 编辑
摘要:"ABP理论学习总目录" "一步一步使用ABP框架搭建正式项目系列教程" "ABP之Module Zero学习目录" 本篇目录 "说明" "升级方法" "问题_01:Log4Net导致编译不成功" 2015/12/18更新 "问题_02:升级V0.7.5.0 Abp等程序集后需要改的几个类" 201 阅读全文
posted @ 2015-12-18 23:21 tkbSimplest 阅读(6785) 评论(4) 推荐(9) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "定义设置" "获取设置值" "更改设置" "关于缓存" 介绍 每个应用程序都需要存储一些设置信息,然后在应用程序中的某个地方使用这些设置。ABP提供了健壮的基础设施来存储或检索服务端和客户端的 应用程序,租户,用户 级别的可用设置。 一个设置一般是存储在数据库( 阅读全文
posted @ 2015-12-18 14:19 tkbSimplest 阅读(10879) 评论(7) 推荐(44) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "ICacheManager" "ICache" "ITypedCache" "配置" <a name='intro' </a 介绍 ABP提供了缓存的抽象,它内部使用了这个缓存抽象。虽然默认的实现使用了MemoryCache,但是也可以为其他的... 阅读全文
posted @ 2015-12-17 23:57 tkbSimplest 阅读(12826) 评论(0) 推荐(58) 编辑
摘要:"返回总目录" 本篇目录 "服务端" "获取Logger" "基类中的Logger" "配置" "客户端" <a name='server' </a 服务端 ABP使用的是Castle Windsor的 "日志记录设备" 。它可以和不同的日志类库一起工作,比如 Log4Net... 阅读全文
posted @ 2015-12-17 15:22 tkbSimplest 阅读(10782) 评论(5) 推荐(43) 编辑
摘要:"返回总目录" 本篇目录 "介绍" "注入Session" "使用Session属性" <a name='intro' </a 介绍 当应用程序要求用户登录时,那么应用程序也需要知道当前用户正在执行的操作。虽然ASP.NET本身在展现层提供了Session对象,但ABP也提供了在任何需... 阅读全文
posted @ 2015-12-17 12:03 tkbSimplest 阅读(14397) 评论(2) 推荐(58) 编辑
摘要:"返回总目录" 本篇目录 "什么是依赖注入" "传统方式产生的问题" "解决办法" "依赖注入框架" "ABP中的依赖注入基础设施" "注册" "解析" "其他" "ASP.NET MVC和ASP.NET Web API集成" "最后提示" 什么是依赖注入 维基百科说:“依赖注入是一种软件设计模式, 阅读全文
posted @ 2015-12-16 22:19 tkbSimplest 阅读(25573) 评论(13) 推荐(130) 编辑
摘要:"返回总目录" "查看更详细信息以及下载源代码请查看原文档" ABP v0.9.2.0 | 【更新日期:2016/6/6 11:21:28 】 解决方案转换成xproj/project.json格式。 添加了Appveyor持续集成。 创建了EntityCache基类,可以轻松缓存实体了。 添加了可 阅读全文
posted @ 2015-12-15 23:53 tkbSimplest 阅读(7318) 评论(0) 推荐(12) 编辑
摘要:"返回总目录" 本篇目录 "框架" "测试基" ABP已经发布在Nuget上,这里是所有包的列表。 <a name='framework' </a 框架 "Abp" Abp系统的核心包。所有其他的包都依赖这个包。 "Abp.Web" 提供了MVC和Web API都使用的一些通用类和资源 ... 阅读全文
posted @ 2015-12-14 23:56 tkbSimplest 阅读(6232) 评论(0) 推荐(18) 编辑
摘要:"返回总目录" 本篇目录 "什么是多租户" "ABP中的多租户" <a name='what' </a 什么是多租户 维基百科:“软件 多租户 是指一种软件架构,在这种软件架构中,软件的 一个实例 运行在服务器上并且为多个租户服务”。一个租户是一组共享该软件实例特定权限的用户。有了多租户... 阅读全文
posted @ 2015-12-13 20:39 tkbSimplest 阅读(23422) 评论(7) 推荐(84) 编辑
摘要:"返回总目录" 本篇目录 "配置ABP" "配置模块" "为模块创建配置" 为了在应用启动时配置ABP和模块,ABP提供了一个基础设施。 <a name='abp' </a 配置ABP 配置ABP是在模块的 PreInitialize 事件中完成的。下面的代码摘自Github上的Task... 阅读全文
posted @ 2015-12-12 21:53 tkbSimplest 阅读(15642) 评论(6) 推荐(74) 编辑
摘要:"返回总目录" 本篇目录 "模块介绍" "生命周期事件" "模块依赖" "自定义模块方法" <a name='intro' </a 模块介绍 ABP提供了构建模块并将这些模块组合起来创建应用的基础设施。一个模块可以依赖另一个模块。一般来说,一个程序集可以认为是一个模块。一个模块是由一... 阅读全文
posted @ 2015-12-12 10:29 tkbSimplest 阅读(19928) 评论(7) 推荐(115) 编辑
摘要:"返回总目录" 自从写这个系列博客之后,发现很多园友还是希望有个直接运行的demo,其实在github上就有官方的demo,我直接把这demo的链接放到这里吧,另外,我分析,这些找不到demo的同学,很可能是不怎么用github,可能的原因就是英文不好。所以还是希望程序员多看看英文文档,一开始看... 阅读全文
posted @ 2015-12-11 13:16 tkbSimplest 阅读(28276) 评论(10) 推荐(161) 编辑
摘要:"返回总目录" 为了和2016年春节赛跑,完成该系列博客,我牺牲了今天中午的时间来完成该系列的第一篇————开篇介绍。开篇介绍嘛,读过大学教材的同学都知道,这玩意总是那么无聊,跟考试没关系,干脆直接跳过,呵呵,多么美好的大学时光啊!不过,现在想想,开篇介绍确实不怎么重要,它只是告诉我们今后我要开始讲 阅读全文
posted @ 2015-12-10 18:31 tkbSimplest 阅读(37811) 评论(9) 推荐(282) 编辑
摘要:目前,我已经完成了Module Zero的翻译,请查看我的 "《Module Zero学习目录》" 。 到现在为止,使用ABP框架开发正式项目已经3个月有余了,期间翻阅了大量文档资料,包括ABP官网的文档,以及 @阳光铭睿 的系列教程。 但是我今天想回过头来,照着ABP官网的英文文档,加上我这几个月 阅读全文
posted @ 2015-12-10 12:25 tkbSimplest 阅读(182781) 评论(64) 推荐(484) 编辑
摘要:"返回《Module Zero学习目录》" "概览介绍" "如何开启" "管理语言" "管理本地化文本" <a name="introduction" </a 概览介绍 ABP定义了一个健壮的UI本地化系统,它可用于服务端和客户端。它允许在不同的资源中(Resource文件和XML文件... 阅读全文
posted @ 2015-12-09 21:29 tkbSimplest 阅读(5415) 评论(1) 推荐(18) 编辑
摘要:"返回《Module Zero学习目录》" ABP module zero已经发布在了 nuget 上了。这里是所有的包列表。 "Abp.Zero" module zero的核心包。 "Abp.Zero.EntityFramework" module zero的Entity ... 阅读全文
posted @ 2015-12-09 13:26 tkbSimplest 阅读(2307) 评论(1) 推荐(4) 编辑
摘要:"返回《Module Zero学习目录》" "概览介绍" "角色权限" "用户权限" 概览介绍 Module Zero实现了ABP授权系统的 IPermissionChecker 接口。这篇文章中,我们将会看到如何给角色和用户授予权限。要定义和检查权限,请转至 "《ABP理论学习之授权(Author 阅读全文
posted @ 2015-12-08 23:29 tkbSimplest 阅读(8089) 评论(3) 推荐(21) 编辑
摘要:ASP.NET MVC中下拉列表的用法很简单,也很方便,具体来说,主要是页面上支持两种Html帮助类的方法:DropDownList()和DropDownListFor()。这篇博文主要作为个人的一个学习笔记,也为了方便很多初学Asp.Net Mvc的同学学习,因为当初自己初学的时候还是遇到了点小麻 阅读全文
posted @ 2015-12-08 17:20 tkbSimplest 阅读(9588) 评论(0) 推荐(13) 编辑
摘要:"返回《Module Zero学习目录》" "角色实体" "角色管理者" "多租户" 角色实体<a name="entity" </a 角色实体代表了该应用的一个角色。它应该派生自AbpRole类,如下所示: 该类是当你安装module zero时创建的。角色数据存储在数据中的AbpR... 阅读全文
posted @ 2015-12-07 16:02 tkbSimplest 阅读(5258) 评论(3) 推荐(9) 编辑
摘要:"返回《Module Zero学习目录》" "用户实体" "用户管理者" "用户认证" 用户实体<a name="entity" </a 用户实体代表应用的一个用户,它派生自AbpUser类,如下所示: 这个类是你在安装module zero时自动创建的。用户数据存储在数据库中的Abp... 阅读全文
posted @ 2015-12-06 17:50 tkbSimplest 阅读(9431) 评论(6) 推荐(22) 编辑
摘要:"返回《Module Zero学习目录》" "概要介绍" "版本实体" "版本管理者" 概要介绍<a name="introduction" </a 绝大多数的SaaS(多租户)应用都有多个具有不同特征的版本(包)。因此,他们可以给租户(即客户)提供不同的价格和特征选项。 版本实体<a ... 阅读全文
posted @ 2015-12-05 22:25 tkbSimplest 阅读(4378) 评论(0) 推荐(10) 编辑
摘要:"返回《Module Zero学习目录》" "开启多租户" "租户实体" "租户管理者" "默认租户" 开启多租户<a name="duozuhu" </a ABP和Module Zero可以运行多租户或单租户模式。多租户默认是禁用的。我们可以在module类中的PreInitiali... 阅读全文
posted @ 2015-12-05 19:19 tkbSimplest 阅读(6252) 评论(1) 推荐(22) 编辑
摘要:"返回《Module Zero学习目录》" "概览介绍" "社交登录" "基于Token的认证" "单元测试" <a name="Introduction" </a 概览介绍 使用ABP和Module Zero开始一个新的项目最简单的方式通过ABP官网的 "模板页面" 创建一个解决方案... 阅读全文
posted @ 2015-12-05 12:52 tkbSimplest 阅读(7497) 评论(11) 推荐(21) 编辑
摘要:"返回《Module Zero学习目录》" "使用模板创建(自动方式)" "手动安装" 1. "核心(领域)层" 2. "基础设施层" 3. "展示层" 这里需要抱歉的是,这里使用的博客园的Markdown语法,代码显示不是很好看,没有行号,而且外面还有一个双层框,大家将就着看吧!... 阅读全文
posted @ 2015-12-04 23:10 tkbSimplest 阅读(12082) 评论(12) 推荐(47) 编辑
摘要:今天无意中看到stackoverflow上一个很好的问答,个人觉得很有价值,所以翻译过来和大家共享!希望大家能相互交流。 在ASP.NET MVC中何时使用异步控制器(Async Controllers)? 在ASP.NET MVC中使用异步操作的时候,我有这么几个关注点。异步操作何时提高我应用的性 阅读全文
posted @ 2015-12-02 23:33 tkbSimplest 阅读(4235) 评论(8) 推荐(22) 编辑
摘要:"返回《Module Zero学习目录》" 介绍 ABP框架的设计是独立于任何数据库模式的且尽可能地使用泛型。因此,它避开了一些要求数据存储的抽象和可选的概念(如审计日志,session管理和授权)。 Module Zero实现了ASP.NET Boilerplate框架的所有基础概... 阅读全文
posted @ 2015-12-01 23:07 tkbSimplest 阅读(10336) 评论(3) 推荐(46) 编辑
摘要:Module Zero是实现了ASP.NET Boilerplate框架抽象概念的模块,对于企业web应用也添加了一些有用的东西: 实现了ASP.NET Identity框架的用户和角色管理。 提供了基于授权(authorization)系统的角色和权限管理。 提供了开发多租户(multi tena 阅读全文
posted @ 2015-12-01 22:07 tkbSimplest 阅读(32705) 评论(4) 推荐(63) 编辑