随笔分类 - C#
摘要:学习Prism一定要掌握依赖注入的应用,只有了解了Prism的依赖注入才能更好的使用Prism提升应用开发的架构。首先说明Prism依赖注入有两种方式及MEF和Unity ,在Prism中是两个没有关联的dll。我倾向于使用MEF,下面学习下MEF在Silverlight中的具体实现。先看MEF实现...
阅读全文
摘要:前言在前面的介绍中我们已经知道:导入和导出的匹配成功需要ContractType,ContractName,Metadata都匹配,这里我们还要介绍一个新的东西:创建策略(creation policy)。有时候我们在容器中的实例在每一个导入之间共享,即单例;有时候我们需要让每一个导入都拥有一个各自...
阅读全文
摘要:也许你编程的时候很小心,注意不引起内存泄露,例如不要被全局Static的变量引用上,注意Singleton的static引用,注意Event Handler注销,注意IDisposable接口实现,而且正确实现了IDisposable。但或许你还是有内存泄露,为何?因为你的IDisposable接口...
阅读全文
摘要:对象的创建可以使用new,也可以使用IOC架如:castle、MEF等,IOC创建的对象的生命周期,可能IOC负责管理,使用框架的开发者如果不弄清楚可能会造成内存泄露问题。这些内存泄露问题并不是IOC框架的bug,只是开发者使用不当或者不注意造成的内存泄露问题。以MEF为例说明我碰到的两种内存泄露问...
阅读全文
摘要:一、演示概述本演示介绍了MEF的生命周期管理,重点介绍了导出部件的三种创建策略,分别是:CreationPolicy.Any、CreationPolicy.Shared、CreationPolicy.NonShared。相关下载(屏幕录像):http://yunpan.cn/cjZEXHY8N3D6...
阅读全文
摘要:引入了一个新的问题,IRegionViewRegistry和IRegionManager都具有RegisterViewWithRegion方法,二者有区别么? 答案是——没有。我们已经分析过,在UnityBootstrapper的中,已经默认建立了IRegionManager和RegionManag...
阅读全文
摘要:在上篇基本说清了本项目的基本框架,下面开始说下项目的加载和shell。开始之前在建立EF时出现了一个问题,我在数据库中建立了视图,而在EF导入视图时出现因无法匹配主键导致无法导入视图的问题,检查发现是由于视图中sql语句中用了Union,先见Union语句取消再建立EF。1、首先是建立项目启动的入口...
阅读全文
摘要:说起子窗体,大家都会想到ChildWindow,多熟悉的一个控件。不错,Sliverlight中已经提供了子窗体的具体实现,而在WPF中却没有这么好的事情(有的第三方控件商已经提供此控件)。最常见的实现方法就是在ViewModel中,直接New ChildWindow,然后直接Show。这样的方法也...
阅读全文
摘要:引用类库:1、Microsoft.Expression.Interactions2、System.Windows.Interactivity ...
阅读全文
摘要:MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。MEF的目标是简化创建可扩展的应用程序,其核心类是ComposablePart,即具...
阅读全文
摘要:此随笔的重点在“Demo分析”一章,以代码的分阶段变化讲述了DI,DIP,IOC的演变,写在前面文字均为铺垫。希望各位园友拍砖,促使流浪者的进步,现在有很多问题想讨论,即以此文寻找志同道合的园友,另此文草草写作,发现越写越觉得还有很多没有描述出来,暂且如此,等待过些时日再来总结,草草之作难免有错误之...
阅读全文
摘要:1:Mef和Untiy都支持依赖注入2:Mef支持插件的机制3:Mef在写法上更简单灵活4:Mef在宏观上比Unity更加庞大5:Mef不支持Aop的切入拦截,Unity支持
阅读全文
摘要:INavigationAware接口publicinterfaceINavigationAware{boolIsNavigationTarget(NavigationContext navigationContext);voidOnNavigatedTo(NavigationContext navi...
阅读全文
摘要:Prism棱镜Bootstrapper启动器dependency injection依赖注入regions区域navigation 导航shell壳
阅读全文
摘要:protected override IModuleCatalog CreateModuleCatalog() { return Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml...
阅读全文
摘要:VS低版本打开高版本创建的项目时会提示"选择的文件是解决方案文件,但是用此应用程序的较新版本创建的,无法打开"解决办法:写字板打开解决方案sln文件将其改成当前使用的VS版本即可vs2010改为:Microsoft Visual Studio Solution File, Format Versio...
阅读全文
摘要:为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三。其一,Redis不仅性能高效,而且完全免费。其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧。最后就是上手容易,操作简单。记得在刚刚接触Redis的时候,由于当时项目的工期相当紧张,留给我们做出选...
阅读全文
摘要:Redis与Memcached的比较.1.Memcached是多线程,而Redis使用单线程.2.Memcached使用预分配的内存池的方式,Redis使用现场申请内存的方式来存储数据,并且可以配置虚拟内存。3.Redis可以实现持久化,主从复制,实现故障恢复。4.Memcached只是简单的key...
阅读全文
摘要:现在越来越多的开发者使用service-stack.redis 来进行redis的访问,但是获取redisclient的方式有多种方式,其中有一种从缓冲池获取client的方式很是得到大家的认可。List listWrite = new List() { "6380@192.168.8.245:63...
阅读全文
摘要:Redis for Windows(C#缓存)配置文件详解前言在上一篇文章中主要介绍了Redis在Windows平台下的下载安装和简单使用http://www.cnblogs.com/aehyok/p/3478282.html。当然我也在上一篇中指定过配置文件,并且修改其中的端口port。本文将主要...
阅读全文
浙公网安备 33010602011771号