随笔分类 -  ASP.NET

摘要:单元测试可以有效的可以在编码、设计、调试到重构等多方面显著提升我们的工作效率和质量。github上可供参考和学习的各种开源项目众多,NopCommerce、Orchard等以及微软的asp.net mvc、entity framework相关多数项目都可以作为学习单元测试的参考。单元测试之道(C#版 阅读全文
posted @ 2016-02-19 09:00 秋天不会来 阅读(6314) 评论(7) 推荐(50) 编辑
摘要:ASP.NET使用StructureMap等依赖注入组件时最重要就是EntityFramework的DbContext对象要保证在每次HttpRequest只有一个DbContext实例,这里将使用第三方提供的HttpSimulator进行测试。 1.定义IDependency接口 创建屏蔽不同依赖 阅读全文
posted @ 2016-02-05 11:22 秋天不会来 阅读(1497) 评论(0) 推荐(4) 编辑
摘要:使用SmtpClient发送Email时,我们可以创建ISmtpClient接口和SmtpClientWrapper适配类,在单元测试中对ISmtpClient进行Mock或自定义FackeSmtpClient,但nDumbster的Facke SMTP Server给我们提供了更直观更简单的方式进 阅读全文
posted @ 2016-02-04 11:06 秋天不会来 阅读(921) 评论(0) 推荐(2) 编辑
摘要:使用Log组件时,我们通常自定义ILogger接口,使用Log4Net等组件进行适配来定义不同的实现类。使用Log4Net日志组件时,为了即方便单元测试又能使用配置文件,我们通过Log4Net的ILogger接口使用Log4Net,对Log4Net进行单元测试时我们可以通过使用MemoryAppen 阅读全文
posted @ 2016-02-03 10:56 秋天不会来 阅读(1608) 评论(0) 推荐(8) 编辑
摘要:通过ConfigurationManager使用.NET配置文件时,可以通过添加配置文件进行单元测试,虽然可以通过测试但达不到解耦的目的。使用IConfigurationManager和ConfigurationManagerWrapper对ConfigurationManager进行适配是更好的方 阅读全文
posted @ 2016-02-02 08:25 秋天不会来 阅读(2017) 评论(1) 推荐(3) 编辑
摘要:权限系统的组成通常包括RBAC模型、权限验证、权限管理以及界面访问控制。现有的一些权限系统分析通常存在以下问题: (1)没有权限的设计思路 认为所有系统都可以使用一套基于Table设计的权限系统。事实上设计权限系统的重点是判断角色的稳定性和找出最小授权需求。角色的稳定性决定了系统是通过角色判断权限还 阅读全文
posted @ 2016-01-30 08:10 秋天不会来 阅读(7013) 评论(16) 推荐(25) 编辑
摘要:目录:一、概述二、MX设置三、使用系统的SMTP功能发邮件四、使用hMailServer收发邮件五、Web邮件客户端一、概述首先必须清楚SMTP才是提供邮件服务器的核心,收发邮件全靠SMTP。不信你关掉hMailServer的POP3和IMAP,服务器照样可以收发邮件。POP3和IMAP只是邮件服务... 阅读全文
posted @ 2015-05-06 10:44 秋天不会来 阅读(2729) 评论(2) 推荐(6) 编辑
摘要:ASP.NET默认的InProc模式的Session既浪费内存又在网站重启时存在数据丢失问题,SQLServer模式的Session只支持SQL Server又需要命令行配置。使用EntityFramwork实现Custom既可以利用EntityFramework实现自定义的SessionProvi... 阅读全文
posted @ 2015-04-29 15:47 秋天不会来 阅读(1873) 评论(6) 推荐(5) 编辑
摘要:使用ASP.NET MVC查询时,一直使用MvcPaging组件,虽然需要自定义MvcPaging.Pager才能达到我想要的效果,但在没有较好的URL库时,还是这么用。分页的逻辑本来就不复杂,更重要的是最近发现了Flurl这个开源库,所以采用Flurl制作一个DIY的分页组件,核心是PagingM... 阅读全文
posted @ 2015-04-15 19:43 秋天不会来 阅读(2370) 评论(9) 推荐(10) 编辑
摘要:从Membership到SimpleMembership再到ASP.NET Identity,ASP.NET每一次更换身份验证的组件,都让我更失望。Membership的唯一作用就是你可以参考它的实现,它的数据库创建和扩展方面就真的让人实在无法使用了。当大家欢呼着让ASP.NET开发走上ASP MV... 阅读全文
posted @ 2015-04-15 00:38 秋天不会来 阅读(3018) 评论(8) 推荐(12) 编辑
摘要:模版化的核心是定制ViewEngine。完整的模板化必须实现3个功能:1.网站的多套模版(razor)支持 2.模版的多样式(style)支持。 3.按需实现模版:没有实现的加载默认模版。 我们除了要达到上述3个功能目标,还必须不能影响MVC默认的项目目录和文件布局以及开放工具的智能提示,这样才是真... 阅读全文
posted @ 2015-04-12 15:55 秋天不会来 阅读(2916) 评论(11) 推荐(6) 编辑
摘要:目录文件的上传和路径处理必须解决下面列出的实际问题:1.重复文件处理2.单独文件上传3.编辑器中文件上传4.处理文章中的图片路径5.处理上传地址的变化一.上传文件和重复文件处理文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等)。采取文件的MD5重命名文件在一般情况足够处... 阅读全文
posted @ 2015-04-08 11:25 秋天不会来 阅读(3218) 评论(6) 推荐(8) 编辑
摘要:概述nopCommerce的插件机制的核心是使用BuildManager.AddReferencedAssembly将使用Assembly.Load加载的插件程序集添加到应用程序域的引用中。具体实现可以参考nopCommerce解决方案中Nop.Core项目的Plugins目录下的相关文件。其中Pl... 阅读全文
posted @ 2015-03-14 22:25 秋天不会来 阅读(7141) 评论(23) 推荐(46) 编辑