10 2015 档案
摘要:返回总目录《一步一步使用ABP框架搭建正式项目系列教程》在DDD(领域驱动设计)设计中,仓储实现了对数据进行特定操作的代码。ABP使用泛型IRepository接口为每一个实体创建了一个自动的仓储。IRepository定义了select,insert,update和一些更多的通用方法:ABP框架已...
阅读全文
摘要:返回总目录《一步一步使用ABP框架搭建正式项目系列教程》这一节我们说说数据库迁移(Migration)。我们之前用的DBFirst创建了实体类,但当初这么做的原因是为了节省时间。现在我们通过创建的实体类和DbContext类利用EF的Code First数据库迁移反过来创建数据库。ABP模板默认开启...
阅读全文
摘要:返回总目录《一步一步使用ABP框架搭建正式项目系列教程》上一篇介绍了《创建实体》,这一篇我们顺其自然地介绍《创建DbContext》。温故:提到DbContext,对于经常使用DbFirst模式的开发者来说已经再熟悉不过了,EntityFramework全靠这员大将。它的作用是代表与数据库连接的会话...
阅读全文
摘要:返回总目录《一步一步使用ABP框架搭建正式项目系列教程》上一篇博客,我们使用ABP模板创建了一个解决方案。现在,打开该解决方案,目录图如下:下面直奔今天的主题——《创建实体类》。一点小插曲:接触ABP框架之前,一直都是使用的EF的DBFirst,在那种模式下,我们只要设计好数据库,然后直接通过模板就...
阅读全文
摘要:今天遇到了这么个问题,如下:功能需求:有两个页面A和B,点击A中的"确定"按钮,超链接到页面B,在跳转到B页面时出现“Loading”的样式。需求分析:作为一个后端程序员,一开始想到的是,在页面A上放一个div,div里放一张loading的gif图片,最开始的时候该div是隐藏的,然后点击"确定"...
阅读全文
摘要:这个功能不怎么实用,但毕竟是VS存在的一个功能点嘛,知道一点也好!说它不怎么实用是有原因的,因为现在强大的VS编辑器拥有不计其数的插件,而且这些插件也有很多很强大的!比如Resharper,Code Assit等都有很智能的智能感知和代码格式设置的功能,真的很好用! 打开VS之后,点击工具菜单,选择代码段管理器: 进去之后,语言选择Visual C#; 再点击下面的Visual C#文件...
阅读全文
摘要:返回该系列目录《基于Task的异步模式--全面介绍》 把一个流拷贝到另一个流是有用且常见的操作。Stream.CopyTo 方法在.Net 4中就已经加入来满足要求这个功能的场景,例如在一个指定的URL处下载数据: public static byte[] DownloadData(string url) { using(var request = WebRequest.Creat...
阅读全文
摘要:返回该系列目录《基于Task的异步模式--全面介绍》 Tasks和异步编程模型APM(Tasks and the Asynchronous Programming Model) 从APM到Tasks APM模式依赖两个对应的方法来表示一个异步操作:BeginMethodName和EndMethodName。在高级别,begin方法接受的参数和相应的同步方法MethodName的参数是一样的,而...
阅读全文
摘要:返回总目录《一步一步使用ABP框架搭建正式项目系列教程》话不多说,让我们开始干吧!对于还没有接触ABP框架或者接触时间还不是很长的小伙伴来说,我建议还是使用官方建议的做法,那就是到ABP框架的官网(http://www.aspnetboilerplate.com/),自动生成一个解决方案,你需要做的...
阅读全文
摘要:Await 返回该系列目录《基于Task的异步模式--全面介绍》 在API级别,实现没有阻塞的等待的方法是提供callback(回调函数)。对于Tasks来说,这是通过像ContinueWith的方法实现的。基于语言的异步支持通过允许在正常控制流内部等待异步操作隐藏callbacks,具有和编译器生成的代码相同的API级别的支持。 在.Net 4.5,C#直接异步地支持等...
阅读全文
摘要:返回该系列目录《基于Task的异步模式--全面介绍》 生成方法 编译器生成 在.NET Framework 4.5中,C#编译器实现了TAP。任何标有async关键字的方法都是异步方法,编译器会使用TAP执行必要的转换从而异步地实现方法。这样的方法应该返回Task或者Task类型。在后者的案例中,方法体应该返回一个TResult,且编译器将确保通过返回的Task是可利用的。相似地,方法体内未经处理...
阅读全文
摘要:返回该系列目录《基于Task的异步模式--全面介绍》 命名,参数和返回类型 在TAP(Task-based Asynchronous Pattern)中的异步操作的启动和完成是通过一个单独的方法来表现的,因此只有一个方法要命名。这与IAsyncResult模式或者APM(Asynchronous Programming Model,异步编程模型)模式形成对比,后者必须要有开始方法名和结束方法名;还...
阅读全文
摘要:今天是国庆长假第一天,也是今天十月的开始。每到这个时候都是看海的季节—一个看"人海"的季节。反正我是不想在这样一个尴尬期出去放松自己,于是不如在家写写博客,长点本领呢。今天就来给大家介绍一下.Net中《基于Task的异步模式》。文章稍微有些长,分几篇博客完成,这篇先来展示一下要介绍的内容,也相当于整篇长博客的目录吧。大家可以通过目录中的超链接来阅读相应的文章。 基于Task的异步模式的定义 ...
阅读全文