摘要: 突然想起来写点自己对abstract class的一点感悟,是因为早上项目中要完成一个抽象类的UnitTest。大家知道抽象类是不能实例化的,那怎样进行测试呢?其实很简单,这个是一个Mock的思想,我们再建的测试类中建一个内部类,这个内部类继承要测的abstract class,这样就解决了抽象类不能实例化的问题。在建这个内部类的时候,我们需要面对的一个问题就是抽象类的构造函数。如果你装了Resharper,它会很智能的帮你生成构造函数,代码如下:1 public abstract class AbstractViewModel2 {3 //注意访问控制符是pr... 阅读全文
posted @ 2012-07-24 13:44 Evan Hua 阅读(1509) 评论(0) 推荐(0) 编辑
摘要: 昨晚睡不着,想想还是再写点Migration的东西吧,一大早发布到园子里给各位兄弟鉴赏!上面两篇关于Migration的文章都是介绍如何进行Codebase-Migration的,你肯定要说:烦不烦啊,改点东西就要Package Manager Console里面敲命令。。。有木有一种自动的Migration方式,在我改好DomainModel后只要敲一次命令就全帮我搞定?这个可以有啊!!!下面我们介绍Automatic-Migration:CodeFirst默认的是Codebase-Migration,我们直接把Migrations文件夹中的Configuration类的构造函数中的Auto 阅读全文
posted @ 2012-07-20 09:45 Evan Hua 阅读(2441) 评论(4) 推荐(0) 编辑
摘要: 连续两天的博客平均访问量上千,给了我很大的鼓舞啊!今天继续讲Migration。首先我们来看一个需求,假设现在不允许Users表有重复的MyBlog,那我们怎么修改呢?现在打开Migrations文件夹,看看下面多了些什么?仔细观察不难发现,多了一些以时间戳和昨天输入的命令字符串组成的类文件,如201207181401353_AddUser.cs是用来创建User的,代码如下:AddUser 1 public partial class AddUser : DbMigration 2 { 3 public override void Up() 4 ... 阅读全文
posted @ 2012-07-19 23:04 Evan Hua 阅读(2595) 评论(11) 推荐(2) 编辑
摘要: 昨天的config和基本的使用已经讲过了,各位读者的评论我也认真看过想过,不知道读者们有没有动手试试,正所谓“纸上得来终觉浅,绝知此事要躬行”啊!如果您是有过多年开发经验(注意不是一个经验用多年噢!)并且有面向对象特别是Domain-Driven Design方面的思想的大鸟级人物,您一定会有所感触!在本系列之后,我会给大家推荐一本DDD方面的书,如果下面一段时间项目不是很忙的话会一边阅读一边写博客给大家分享和讨论,甚至翻译成中文做连载等等。。。好了,今天我们接着昨天的说!3. How to migrate.昨天我们已经使用CodeFirst反向生成了一个数据库,如果每个项目都能到此为止的话那 阅读全文
posted @ 2012-07-18 22:57 Evan Hua 阅读(3167) 评论(6) 推荐(1) 编辑
摘要: 自CodeFirst推出以来,一直以来都想去学一学用一用,苦于一直被各种事情所羁绊(当然这不是理由啦!)而delay。。。最近跳槽到一家德资企业,进项目组后主要在做一个船舶信息管理和控制类的软件,客户是挪威佬。项目中就用到了codefirst4.2,真心觉得老外相当地与时俱进啊!!! 于是再也忍不住了,要来好好玩一玩CodeFirst,为了督促我自己学习,我向园子里的各位博友保证会将CodeFirst这个系列写完整,恳请大家监督和鞭策我吧,哈哈!下面一段时间,我会带着如下几个问题去学习CodeFirst4.3:1. What's the advantage of codefirst.2 阅读全文
posted @ 2012-07-17 22:53 Evan Hua 阅读(4012) 评论(29) 推荐(2) 编辑
摘要: 在实现为用户创建账户并且邮件通知用户时,必须在邮件中给出用于访问站点的URL,如果写死成固定的地址(如:www.baidu.com),项目部署到服务器的时候并换了域名后,用户无法通过你给出的这个写死的URL进行访问。下面是几种取URL的方法:假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli"http://"是协议名"www.test.com"是域名"aaa"是站点名"bbb.aspx"是页面名(文件名)"id=5&nam 阅读全文
posted @ 2011-02-28 16:32 Evan Hua 阅读(598) 评论(0) 推荐(1) 编辑
摘要: web.config文件是一个XML文件,它的根结点是<configuration>,在<configuration>节点下的常见子节点有:<configSections>、<appSettings>、<connectionStrings> 和<system.web>。其中<appSettings>节点主要用于配置一些网站的应用配置信息,而<connectionStrings>节点主要用于配置网站的数据库连接字符串信息。<system.web>节点主要是网站运行时的一些配置,它的常见节点 阅读全文
posted @ 2011-02-26 15:34 Evan Hua 阅读(762) 评论(0) 推荐(1) 编辑
摘要: asp.net网站IIS启动的时候会加载配置文件中的配置信息,然后缓存这些信息,这样就不必每次去读取配置信息。在运行过程中asp.net应用程序会监视配置文件的变化情况,一旦编辑了这些配置信息,就会重新读取这些配置信息并缓存。当我们要读取某个节点或者节点组信息时,是按照如下方式搜索的:(1)如果在当前页面所在目录下存在web.config文件,查看是否存在所要查找的结点名称,如果存在返回结果并停止查找。(2)如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录。(3)如果网站根目录下不存在web.config文件 阅读全文
posted @ 2011-02-26 15:26 Evan Hua 阅读(378) 评论(0) 推荐(0) 编辑
摘要: asp.net中打开新窗口的多种方法 1.Response.Redirect("XXX.aspx",true)——直接转向新的页面,原窗口被代替; 2. Response.Write("<script>window.open(XXX.aspx'',''_blank'')</script>")——原窗口保留,另外新增一个新页面;... 阅读全文
posted @ 2010-08-12 14:14 Evan Hua 阅读(1285) 评论(0) 推荐(1) 编辑