摘要: 版本:OS X 10.10.5Xcode 6.4(6E35b)iOS >= 7一、概述状态栏(UIStatusBar)指iPhone/iPad/iPod屏幕顶部用于显示网络、时间和电量等的、高度为20点的控件。状态栏的windowLevel为UIWindowLevelStatusBar,而windo...阅读全文
posted @ 2015-10-07 21:22 alby 阅读(16017) 评论(1) 编辑
摘要: 版本:OS X 10.10.5Xcode 6.4(6E35b)iOS >= 7一、MOV/MP4视频文件中的Rotation元数据iOS上内置相机应用录制的mov/mp4视频可能产生一个Rotation元数据,表示录制视频时摄像头旋转到了多少角度。其值一般为这四个:0、90、180或270。类似于图...阅读全文
posted @ 2015-06-30 12:27 alby 阅读(6941) 评论(0) 编辑
摘要: 分割线阅读全文
posted @ 2015-06-24 12:36 alby 阅读(258) 评论(0) 编辑
摘要: 概述默认情况下,ASP.NET MVC内置的DefaultControllerFactory负责Controller实例的创建。Orchard定义了一个继承自DefaultControllerFactory类的Orchard.Mvc.OrchardControllerFactory类并在OrchardStarter类中进行注册: // 以下代码来在Orchard.Environment.OrchardStarter类 ControllerBuilder.Current.SetControllerFactory(newOrchardControllerFactory());Orchard...阅读全文
posted @ 2013-10-11 16:40 alby 阅读(1962) 评论(4) 编辑
摘要: 概述关于ASP.NET MVC中路由有两个基本核心作用,一是通过Http请求中的Url参数等信息获取路由数据(RouteData),路由数据包含了area、controller、action的名称等信息。只有获取了匹配的路由数据,才有可能转入ASP.NET MVC管道;二是根据由规则生成Url,比如要根据某些数据生成View上显示的链接。Orchard对路由进行扩展主要基于如下原因:(1)、路由定义在各个模块中。在Orchard应用程序初始化时将分散在各个模块的路由定义收集起来统一注册。(2)、路由定义一次,对于多Shell系统,则会被多次注册以匹配Shell的前缀。(3)、当请求进入时需要确阅读全文
posted @ 2013-03-11 13:13 alby 阅读(2945) 评论(5) 编辑
摘要: 概述Orchard归根结底是一个ASP.NET MVC(以后都简称为MVC)应用,但在前面的分析中,与MVC相关内容的涉及得很少。MVC提供了非常多的扩展点,本文主要关注Orchard所做的扩展。主要集中在如下几个方面:1、Routing(路由)相关2、Controller相关3、ViewEngines相关4、Model绑定(Binding)相关5、Model验证器(Validator)相关我们将分几个篇幅来分别分析。参考资料:How ASP.NET MVC Works(强烈推荐)ASP.NET MVC中你必须知道的13个扩展点ASP.NET MVC 请求生命周期ASP.NET MVC 4(M阅读全文
posted @ 2013-03-11 13:12 alby 阅读(1278) 评论(0) 编辑
摘要: 概述CacheModule也是一个Autofac模块。一、CacheModule类CacheModule将DefaultCacheManager注册为ICacheManager: publicclassCacheModule:Module{ protectedoverridevoidLoad(ContainerBuilderbuilder) { builder.RegisterType<DefaultCacheManager>() .As<ICacheManager>() .InstancePerDependency(); }//... }如果类有一个接受ICacheM阅读全文
posted @ 2012-10-18 11:57 alby 阅读(1858) 评论(2) 编辑
摘要: 概述在Orchard中,提出子站点(Tenant)的概念,目的是为了增加站点密度,即一个应用程序域可以有多个子站点。Shell是子站点(Tenant)级的单例,换句话说Shell代表了子站点。对比来看,Host是应用程序域级的单例,代表了Orchard应用程序。本文将分析Shell相关的各种类型。一、获取ShellSettings在 DefaultOrchardHost类的CreateAndActivateShells方法中,由Shell设置管理器 ShellSettingsManager从~/App_Data/Sites目录的一级子目录中搜索Settings.txt文件,然后通过Shell 阅读全文
posted @ 2012-10-18 11:51 alby 阅读(2061) 评论(1) 编辑
摘要: EndRequest事件处理的作用是处理完"处理引擎(ProcessingEngine)"中的任务(Task)。 voidIOrchardHost.EndRequest() { Logger.Debug("EndRequest"); EndRequest(); } protectedvirtualvoidEndRequest() {// Synchronously process all pending tasks. It's safe to do this at this point// of the pipeline, as the requ阅读全文
posted @ 2012-10-18 11:50 alby 阅读(1030) 评论(0) 编辑
摘要: BeginRequest事件处理的作用是确保所有Shell已经加载,或者在扩展有变化的时候重新加载。 voidIOrchardHost.BeginRequest() { Logger.Debug("BeginRequest"); BeginRequest(); }protectedvirtualvoidBeginRequest() {// Ensure all shell contexts are loaded, or need to be reloaded if// extensions have changed MonitorExtensions(); BuildCur阅读全文
posted @ 2012-10-18 11:49 alby 阅读(1104) 评论(0) 编辑