摘要: Jusfr 原创,文章所用代码已给出,转载请注明来自博客园。插件机制与 AppDomain示例与现实目标与设计[Serializable] 与 MarshalByRefObject思路与实现后记开始之前还是得说:插件机制老生常谈,但一下子到某工厂或 MAF 管线我相信不少园友吃不消。授人以鱼不如授人... 阅读全文
posted @ 2015-05-14 08:29 Jusfr 阅读(3795) 评论(5) 推荐(17) 编辑
摘要: jusfr 原创,转载请注明来自博客园。在之前的实现中,我们初步实现了一个缓存模块:包含一个基于Http请求的缓存实现,一个基于HttpRuntime.Cache进程级的缓存实现,但观察代码,会发现如下问题:1. 有部分逻辑如 Boolean TryGet(String key, out T ent... 阅读全文
posted @ 2015-01-21 13:17 Jusfr 阅读(1855) 评论(1) 推荐(7) 编辑
摘要: 一步步实现一个基本的缓存模块注意后续代码及改进见后后文及github,文章上的并没有更新。 1. 前言 2. 请求级别缓存 2.1 多线程 3. 进程级别缓存 3.1 分区与计数 3.2 可空缓存值 3.3 封装与集成 4. 小结1. 前言面向读者:初、中级用户;涉及知识:HttpContext、H... 阅读全文
posted @ 2014-12-08 13:57 Jusfr 阅读(3189) 评论(9) 推荐(21) 编辑
摘要: Partitioner.Create(1,10,4).GetDynamicPartitions()为长度为10的序列创建分区,每个分区至多4个元素,分区方法及结果:Partitioner.Create(0, 10, 4).GetDynamicPartitions()得到3个前闭后开区间:[0, 4)... 阅读全文
posted @ 2014-05-28 22:50 Jusfr 阅读(1593) 评论(0) 推荐(0) 编辑
摘要: PetaPoco是一个轻量级ORM,我的MVC项目中使用它结合Repository模式,依靠Unity的生命周期管理对象,保证请求/线程级别的数据上下文单例,并使用锁和计数实现业务级事务。下文代码依个人理解实现,谬误请不吝指正。例行IUnitOfWork:public interface IUnitOfWork{ void Begin(); void Commit(); void Rollback();}仓库上下文核心: 1 public class PetaPocoUnitOfWork : IUnitOfWork 2 { 3 private const String... 阅读全文
posted @ 2013-09-18 10:19 Jusfr 阅读(4753) 评论(7) 推荐(1) 编辑
摘要: 按文章结构,这部分应该给出WCFRest项目示例,我想WinForm示例足够详尽了,况且WCFRest还不需要使用插件AppDomain那一套,于是把最近写的Fiddler扩展搬上来吧。Fiddler有一套自成的插件系统,可以在其官方网站找到完整文档(戳这里)。通过其提供的一整套接口,我们可以从界面... 阅读全文
posted @ 2013-07-02 15:33 Jusfr 阅读(2709) 评论(0) 推荐(2) 编辑
摘要: 代码文件在此Download,本文章围绕前文所述默认AppDomain、插件容器AppDomain两个域及IPlugin、PluginProvider、PluginProxy3个类的使用与变化进行。添加WinForm项目Host、类库Plugin、引用System.Windows.Forms;的类库... 阅读全文
posted @ 2013-06-29 18:09 Jusfr 阅读(3149) 评论(3) 推荐(1) 编辑
摘要: 前一篇文章简单展示了类型发现和MEF使用,本文初步进入AppDomain相关内容。CLR程序运行时会创建默认程序集容器即AppDomain,默认AppDomain不支持卸载其程序集,但CLR支持创建和卸载AppDomain,这意味着我们可以间接地通过额外的AppDomain实现插件的热插拔。代理Ap... 阅读全文
posted @ 2013-06-22 16:09 Jusfr 阅读(2308) 评论(0) 推荐(1) 编辑
摘要: 涉及内容:反射与MEF解决方案AppDomain卸载与代理WinForm、WcfRestService示PRRT1: 反射实现插件系统的基本目的是实现宿主与组件的隔离,核心是作为接驳约定的接口,宿主使用类型发现及挂载插件,以下是反射实现。创建类库项目Plugin,添加接口IPlugin:public... 阅读全文
posted @ 2013-06-22 16:08 Jusfr 阅读(2575) 评论(1) 推荐(1) 编辑
摘要: 这是本文的第四部分也是最后部分,适合新人初步学习泛型、反射,提供了有限的业务场景分析、若干的NPOI接口使用示范,前三部分链接如下:一个Excel导出类的实现过程(一):泛型与反射一个Excel导出类的实现过程(二):显示定制一个Excel导出类的实现过程(三):NPOI组件接第三部分,由于单元格设置语句仅简单的一句话row.CreateCell(i).SetCellValue(value.ToString()),生成的Excel仍然粗陋。Excel导出通常会遇到若干问题:整数变字符串问题:整型值比如ID列,单元格左上角出现绿色三角符号,单元格变成了字符串类型,不够友好;日期显示问题:有时候需 阅读全文
posted @ 2013-05-17 15:07 Jusfr 阅读(1909) 评论(5) 推荐(0) 编辑