问题标签 [object-lifetime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在进行跨应用程序域开发时,如何以与代理相同的方式赋予代理无限生命?
背景我使用观察者/事件模式的派生以及来自以下的代码片段
开发了一个自定义插件架构:
代码项目:插件管理器
Microsoft:AppDomains
Daniel Soltyka:简单插件
我过去有一个问题。每个插件都加载在它自己的应用程序域中,这样它们就不能互相看到,也不能看到主应用程序域中的东西(我们的应用程序中有专有数据,我们不希望插件开发人员看到)。每个新的应用程序域/插件都会创建一个代理,以便与主应用程序中的插件进行通信。问题是代理在 5 分钟左右后断开连接。这很容易通过重写InitializeLifetimeService()
方法并返回 null ( reference ) 来解决。
问题
现在的问题是事情的另一面。我通过从主应用程序端向每个插件发送委托,在插件端“注册”回调函数。然后插件可以调用这些委托,这些委托将调用主应用程序中的函数。但是,与上述解释中的代理一样,代表显然会断开连接。
我在 SO 上阅读了这个ClientSponsor.Register()
,该方法听起来很棒,但它需要一个“MarshalByRefObject”作为参数。我的是代表,所以没有骰子。
我想找到一种方法,让我的主要应用程序代表在应用程序域之间保持连接,就像插件代理的方式一样。
有任何想法吗?
mef - MEF 和 WPF。懒惰(T)的一生?
第一个我是新手
,我使用lazy() 导入对象/类
现在我的问题是
1)我的对象的生命周期是多少?
2)这个对象如何处理?
3) 如果手动处理,MEF 以后可以在我发出 object.value 时重新初始化它吗?
entity-framework-4 - Web 应用程序中 Redis 的最佳对象生命周期策略是什么
- 我将计划使用 Redis (ServiceStack) 作为 Web 应用程序的整个数据库。
- 我可以在 7.4 秒内插入 76000 条记录。
- 但是使用单连接(RedisClient object-life-time is Application),
- 我使用 Set generic method not Store (巨大的性能差异)
我已经为实体框架 ObjectContext 使用了 Per-Request object-life-time。
那么对于 Redis (ServiceStack) 的 Web 应用程序 (Asp.Net MVC) 中的对象生命周期的最佳策略是什么?
或者 Redis 不是 100 个 Sql Server 表的成熟项目(各种相互关联)
我完全糊涂了..我正在考虑将实体存储在 DB4O 中(我也害怕“DB4o 也是 Embedded-Java Db”的口号),Redis 中的关系?!
并支持在 EF4 中包含概念。
我的整个项目将有 1.000.000 个实体,100.000.000 个关系!(我有 3 年实体框架 1-4 经验)
c# - 为什么在 using 语句中声明的变量被视为只读?
为什么变量(myform)在使用块中被视为只读并且当我尝试将它作为对函数的引用传递时编译器会引发错误。
示例代码:
将 using 变量作为 ref 传递给函数将引发错误。因此上面的代码会引发错误。
注意:“只读”关键字与我的问题无关。
c# - 托管代码中块末尾的变量会发生什么情况
块结束后
块中的变量会发生什么?
以及在这个块之后会发生什么
清楚吗?如果我选择的标签是错误的,请编辑它,或者如果你可以编辑我的问题以明确请编辑它。
asp.net-mvc-3 - MVC 3,Unity 2 - 每个请求生命周期管理器
我在http://unitymvc3.codeplex.com/ 上使用 Unity MVC3 代码为我的 IUnitOfWork 的每个请求实例创建一个 NHibernate 会话。
几周前它还在工作,我做了一些改变,现在我的 IUnitOfWork 似乎有一个静态的生命周期。
来自我的 global.asax.cs:
ConfigureUnity()
是从我的Application_Start()
这是我的 HomeController 构造函数中的测试代码:
... IUnitOfWork 被解析为同一个实例,但是,在随后的页面请求中,没有创建新的 IUnitOfWork ...但是代码有效,因此它以某种方式注册/拉动对象,使其行为静态。
c++ - C++ 中的对象销毁
究竟什么时候在 C++ 中销毁对象,这意味着什么?由于没有垃圾收集器,我是否必须手动销毁它们?异常如何发挥作用?
(注意:这是对Stack Overflow 的 C++ FAQ 的一个条目。如果您想批评以这种形式提供 FAQ 的想法,那么开始这一切的 meta 上的帖子就是这样做的地方。该问题在C++ 聊天室中进行监控,FAQ 想法最初是从那里开始的,所以你的答案很可能会被提出这个想法的人阅读。)
c++ - 对象生命周期相关;以下问题是否存在术语/模式/什么?
我正在尝试为我的 GUI 窗口编写一个回调类。为了(希望)实现这一点,我正在使用代表。
MESSAGE_TYPE 是一个枚举。
我需要的是某种方式,当它被破坏时,通过某种持久/常量索引自动从映射中注销任何对象,而不依赖于修改类析构函数。
我的意思是,好吧,我的计划可能从一开始就有缺陷(我仍然在这些高级的东西中半盲编码),因为我指定回调以匹配某个签名,所以本质上任何使用此功能的类都必须有一些匹配它的方法,因此已经有点被迫遵守那些规则(耦合到类)。
所以我可能只是在其中引用地图。但是,仅此一项仍然需要遍历映射中的所有条目并删除与被销毁对象匹配的条目。
所以我想我需要的是某种自我意识的常量引用指针索引的东西。
这样的事情存在吗?在我看来,这应该是一个普遍的问题......
c# - MEF 出口工厂- 如何在长时间运行的应用程序中正确处理?
基本上,有没有一种简单的方法来处理由ExportFactory<T>
? 我问的原因是因为导出通常包含对仍然存在的东西的引用,例如 EventAggregator。我不想遇到这样的问题:我创建了数百个这样的东西,并在不需要时让它们闲置。
我注意到,当我创建对象时,我会返回一个ExportLifetimeContext<T>
带有 Dispose 的对象。但是,我不想ExportLifetimeContext
向我的 ViewModel 传回请求 ViewModel 的副本,因此我将值传回。( return Factory.Single(v => v.Metadata.Name.Equals(name)).CreateExport().Value;
)
c# - windows服务成员使用InitializeLifetimeService重要吗
InitializeLifetimeService
只要我的应用程序或服务正在运行,我是否必须设置应该运行的成员?以我自己的经验为例因为我用计时器构建了一些服务,但是计时器在几天后停止工作。