摘要: 接上一节 查看CommonHelper.GetTrustLevel方法: 大体意思是:如果新人级别没有值,则先设置为不授予任何权限,然后遍历权限,从最大权限开始,如果授予权限成功 就返回,如果报错继续授予下一个权限,就是授予当前能授予的最大权限。 如果不是最大权限的话,创建BIN目录,并调用方法: 阅读全文
posted @ 2019-11-16 08:55 C#生命周期 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 前面分析太细了。。回到WidgetController的WidgetsByZone方法,大体意思是: 获得并缓存名称为string widgetZone的List<RenderWidgetModel>()。 其中RenderWidgetModel记录的路由信息通过插件的GetDisplayWidge 阅读全文
posted @ 2019-11-16 08:55 C#生命周期 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 通过如下方法获取资源: 而_workContext.WorkingLanguage就是返回是Language实体对象, 传入资源KEY和语言ID ,最终调用如下: _localizationSettings.LoadAllLocaleRecordsOnStartup 这一句 是ISetting的子类 阅读全文
posted @ 2019-11-16 08:54 C#生命周期 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 找到最顶层的Layout是:Layout = "~/Views/Shared/_Root.Head.cshtml"; 开始代码: 第一句从Setting表获得DisplayMiniProfilerInPublicStore的值查询是false. 第二句是HTMLHelper的扩展方法。整个类的代码: 阅读全文
posted @ 2019-11-16 08:54 C#生命周期 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 上节讲到Head.cshtml,里面实际做的是根据supportRtl、supportResponsive、themeName三个变量,引入相应的CSS文件等。 接着看这一句: 扩展方法: 其实她就是调用一个action,后面是路由信息。看一下这个action: 看LoadActiveWidgets 阅读全文
posted @ 2019-11-16 08:54 C#生命周期 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 也许我应该先研究下架构,但现在还是接着研究NOP吧,不能半途而废啊。 之前粗略研究过如何添加一个属性,http://www.cnblogs.com/runit/p/3842611.html,基本一样。我们以ScheduleTask为例。 下面是一个实体类,没有多余功能,就是提供了实体类的各个属性。 阅读全文
posted @ 2019-11-16 08:53 C#生命周期 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 上次我们研究到LocalizationSettings,但在依赖注入里没有搜索到注册类。后来才发现,原来所有的继承自ISetting的类 都是通过如下注册的: 此方法的声明如下: 从声明可以看出 这是一个ContainerBuilder 的扩展方法,添加一个注册源到容器,而注册源就是IRegistr 阅读全文
posted @ 2019-11-16 08:53 C#生命周期 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 我们已经把ISetting的基本实现都过了一遍,但好像它的值如何取出来的,还不知道。 其实通过上节我们可知道 ,最终他是通过SettingService.cs类GetAllSettingsCached方法进行。内部有如下代码: AsNoTracking是EF的一个功能,就是不跟踪状态。只读的情况下用 阅读全文
posted @ 2019-11-16 08:53 C#生命周期 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 分析TaskManager.Instance.Initialize(); 下面是一个实体抽象父类,ScheduleTask 继承此类。 下面是计划任务类,含有名称、运行时段Seconds 、type、是否可用等 计划任务服务类,增删改查 计划任务等操作。 下面是TaskManager.Instanc 阅读全文
posted @ 2019-11-16 08:52 C#生命周期 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 前面我们知道,依赖注入是通过实现IDependencyRegistrar接口的Register方法实现的。而NOP的依赖类是在Nop.Web.Framework下的DependencyRegistrar类,里面注册了好多类,就不黏贴了。我们再回头看一下上节介绍的任务计划。里面有个 ISchedule 阅读全文
posted @ 2019-11-16 08:52 C#生命周期 阅读(204) 评论(0) 推荐(0) 编辑