首页 新闻 会员 周边 捐助

Unity托管WCF服务对象和直接使用WCF的Singleton实例模式有什么区别吗?

0
悬赏园豆:20 [已解决问题] 解决于 2011-07-08 23:23

本来出于节省开销的目的在WCF中引入Unity装载服务对象,LifetimeManager则使用全局缓存方式实现,对于相同实例的请求均从Unity中Resolve出已有的对象。

但回头一想,这种缓存的方案跟WCF本身支持的Singleton实例模式似乎没有什么区别,何必要引入Unity呢?

查阅了一些其他人的做法,对于WCF引入IOC的做法是给与肯定的,但都很少分析本文中提出的问题,不知道各位看官有何见解?

volcanodeng的主页 volcanodeng | 初学一级 | 园豆:196
提问于:2011-06-15 17:45
< >
分享
最佳答案
0

Unity的实现是比较简单的,和Singleton有很大类似,你可以看看这个库的代码不是很多,本身里面就用了Singleton,

具体可参考http://www.cnblogs.com/2018/archive/2011/05/24/2045890.html

如果需要对IOC比较完整的控制最好采用MEF,.net内置的而且开源

收获园豆:20
2012 | 高人七级 |园豆:21645 | 2011-06-16 08:21
to 2012:
谢谢你的答案!
我想你从另一个侧面给我提供了一个很好的业务层构建方案,采用MEF可以插拔式调整我的业务层实现,这个功能我原来是打算采用策略模式或者策略注入方式实现的,现在看了一下MEF的解决方法觉得采用MEF可能更成熟。
对于IOC的生命期管理和WCF的Singleton之间的差别,我觉得主要是资源释放的机制问题。最近还想搞个测试来证实一下自己的一些猜测,可惜工作太忙,还没来得及实现。
volcanodeng | 园豆:196 (初学一级) | 2011-06-21 12:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册