摘要:
在Orchard官网文档中给出了一些性能提升建议。 对于不太熟悉OrchardCMS的开发人员,你是否注意到Web站点下的Config文件夹中有一个HostComponents.config文件。它对于站点性能的提升非常重要。整个系统中有很多监控机制,比如模块更新了,.csproj更新了等等。 我给大家说明的就是其中的一个配置对于性能的提升。 首先,在源代码中你会发现一个DefaultOrc... 阅读全文
摘要:
按照几个月之前的计划,也应该写一个使用Bootstrap作为OrchardNoCMS的UI库。之前这段时间都是在学习IOS开发,没顾得上写,也没顾得上维护OrchardNoCMS代码。看看我的活动轨迹就知道啦:最近这两周快过年了,刚好写一篇博客来消磨时间,也顺便希望可以对大家有所帮助。由于我精简后的版本中去掉了Orchard.jQuery模块,所以首先我建立了一个模块来存放我需要的所有JS和CSS文件。创建一个ResourceManifest文件,它实现了接口IResourceManifestProvider。通过该类来把脚本和样式文件定义好。可以看到主要用到了jQuery,bootstrap 阅读全文
摘要:
AOP编程在目前来说好像是大家都比较喜欢的。ASP.NET MVC中的Filter就是使用AOP实现的配置器模式。AOP在编码中的应用主要有如下几个方面:日志记录,跟踪,优化和监控事务的处理持久化性能的优化资源池,如数据库连接池的管理系统统一的认证、权限管理等应用系统的异常捕捉及处理针对具体行业应用的横切行为前面几种应用我相信大家都是比较熟悉的。在ASP.NET MVC中有Filter之类的,提供认证和权限管理。很多实现AOP的组件都是拿日志作为例子说明。我这里给大家说明一个具体业务的横切例子。以之前的Orchard.Car模块为例,如果我们这个模块式产品中的一个模块,当应用到项目中时,可能需 阅读全文
摘要:
之前文章中给大家说明了下我这个小小的想法,发现还是有不少人的支持和关注。你们的鼓励是对我最大的支持。我总结了了大家的评论,有以下几个问题:1.希望有更多的文档说明。2.希望介绍下Orchard的热插拔机制。3.希望可以说明如何扩展功能什么的。4.介绍下Orchard的核心机制。5. 介绍下我对Orchard的整个瘦身过程怎么做的。6.觉得这个像瑞星杀毒只剩下小狮子了(这个有意思 J)除了这些还有别的,我只是自己大概总结了下。对于以上的问题,我不会挨个去说明。只是给大家说明下我的整个计划和接下来的安排。首先,文档是必须的。可能在博客上未来不会有太多的文档,但是在github上你将会找到很多的说明 阅读全文
摘要:
Orchard CMS是针对CMS开发的,对于很多开发需求来说,内容管理这块儿可能并不需要,而需要它的模块式开发模式。所以我这里通过对OrchardCMS进行瘦身,去除 内容管理部分的内容,保留简单的运行环境和基础的模块。需要做的工作:去除Orchard Framework的内容管理部分,同时去除Orchard Framework依赖内容管理的相关内容。去除Orchard Core部分的部分module,只保留Sharpe和Setting两个模块。去除内容管理和博客管理的相关模块,只保留支持模块启用和停用以及皮肤模块。这里我只是对OrchardCMS的代码进行了瘦身,所以相关的license请 阅读全文
摘要:
使用依赖注入容器时,大部分都是使用构造函数来注入或者是xml配置文件。也有很多支持属性注入。Autofac就是其中一个。1 为什么要有属性注入?对于一些使用特频繁的类或者方法,很多类都会用到,那么使用属性注入会节省更多的力气,而且在设计的时候就可以提早的把该属性给定义出来。2.哪些需求需要用到属性注入?举几个比较实际的例子:日志功能、统一事务提交、当前用户附加信息的获取等等。Autofac中如何实现属性注入呢?我们以注入日志属性为例说明。我们使用Castle的日志类为例。1.创建一个继承Module类的LoggingModule。创建一个查找Autofac注入的某个组件中是否有实现了ILogg 阅读全文
摘要:
在Orchard CMS的官网已经提供了文档说明如何打包,但是如果使用它的打包方式,打好的nuget包是带源代码的。如果是为开源系统写模块,不需要关注源代码是否可见。但是如果是用Orchard CMS作为商业用途,那么可能你需要阅读这边文章啦。 1.获取打包文件的原理: 简单说一下Orchard打包模块获取需要打包的文件的原理:控制台传入模块名称,通过找到对应模块的.csproj来分析需要打包... 阅读全文
摘要:
See the Pen Dot Wave by Rich Howell (@roborich) on CodePen 阅读全文
摘要:
熟悉IoC容器的都知道,在开发过程中,最郁闷的莫过于当你新增一个Service时,你需要对该Service进行注册,有的是使用代码注入,有的是XML配置注入,不管是哪种类型的注入,经常会出现开发人员忘记注入的情况,如果你的页面是直接发送请求的,那么会得到类似于如下页面的错误: <- _<-如果该服务是用于AJAX请求实用的,那么你就悲剧了,因为页面只是没反应,只有查看错误日志了。 于是我试着去想办法去避免每次的服务都需要注入,而是系统自动注入。 红色线条框住的地方就是自动注入的代码实现。很高兴Autofac提供一个RegisterAssemblyTypes方法。它回去扫描所有的dl 阅读全文
摘要:
最近在公司进行了一次asp.net web api的分享吧,不算是培训。可能大家有些人对Web API的推出目的还不是很了解,可以看看微软官方的定义,其实是为了提供一个好的REST Service方式。REST是一种设计风格而不是一个标准。 通常是基于使用HTTP,URI和Xml等这些现有的广泛流行的协议和标准。 1.资源由URI来指定 2. 对资源的操作包括获取、修改、创建和删除,这些正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。 3. 通过操作资源的表现形式来操作资源。 4. 资源的表现形式则是XML或者HTML等。微软在.net 4.0基础上推出Web API的目 阅读全文