首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VsPackage全球服务生活方式

VsPackage全球服务生活方式
EN

Stack Overflow用户
提问于 2015-11-04 01:24:01
回答 1查看 72关注 0票数 0

我正在阅读有关如何使VsPackage全球服务:

https://msdn.microsoft.com/en-us/library/bb166804(v=vs.100).aspx

我想要创建结构作为某种“缓存”,它将被我的实现ICompletionSource所使用。如果我能理解,那么实现ICompletionSourceProviderICompletionSource的类将使用新的编辑器窗口/完成会话进行实例化。我希望缓存跨越所有将加载数据一次的会话,然后在需要时进行更新,但这不会随每个会话/编辑器一起消失。

这就引出了我的问题。什么是全球服务实例生活方式?

我正在寻找某种类型的“单例”对象,它是在包初始化时创建的,比ICompletionSource实例更有效,它应该为这些实例提供预缓存的数据。如果该对象能够订阅项目更改事件(主要是添加/删除文件),也会更好。VsPackage全球服务适用于此吗?这里的最佳做法是什么?

我正在努力阅读,但这里有很多要研究的地方。

EN

回答 1

Stack Overflow用户

发布于 2015-11-04 04:23:08

因此,从它的声音来看,您确实处于具有ImportExport属性的MEF世界中。对于VS中的MEF,任何Exported (除非另有说明,由您控制)都是一个单例,一旦创建,它将在进程的生命周期内存活。在内部进行MEF导出和导入以提供对共享状态的访问是非常常见的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33512152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档