依赖注入对象在服务器中存在多长时间(Scoped and Transient)
How long does the Dependency Injection Object exists(Scoped & Transient) in the server
我想知道一些详细信息,服务对象保留值的时间,例如服务对象是否有任何时间限制,尤其是针对 Scoped 和 Transient。
Scoped: 它保留特定请求的值(想想浏览器选项卡)。
瞬态: 它保留特定 Component
.
的值
如果我在我使用 Scoped 和 Transient 服务对象的特定 Component
(Page) 中停留很长时间(不执行任何操作)怎么办。
价值会永远保留吗?还是会在一段时间后自动处理?
What if i stays long (not doing any action) in the particular Component(Page) where i have used Scoped and Transient service object.
请求从您在 url(或 link 或按钮)中按回车键开始,直到页面加载完毕。之后,请求结束。
HTTP 是无状态的,它没有任何永久连接或状态。如果一个页面需要 50 毫秒来加载,之后请求结束并处理服务。当您单击 link 时,一个新的请求会启动并实例化新的依赖项。
每个请求都会有一个新实例,所以不要 "store" 服务中的数据是下一个请求所需的。如果您只需要下一个请求的东西,请使用 TempData and if it needs to persist more than until next time its accessed, use Sessions
Will the value be retained forever ? or will it dispose automatically after some time?
请求结束后,不再保存访问服务。处理释放所有非托管资源(连接、文件句柄、非托管内存)。
对象本身会在内存中保留一些(未指定的)时间,直到垃圾收集开始并释放对象和内存。这假设您在请求结束后没有持有任何对服务的引用,因为只有没有引用的对象才能被垃圾回收。
这就是托管运行时的工作方式。垃圾收集不是确定性的,因此它可以在触发它的条件发生时随时发生。
我想知道一些详细信息,服务对象保留值的时间,例如服务对象是否有任何时间限制,尤其是针对 Scoped 和 Transient。
Scoped: 它保留特定请求的值(想想浏览器选项卡)。
瞬态: 它保留特定 Component
.
如果我在我使用 Scoped 和 Transient 服务对象的特定 Component
(Page) 中停留很长时间(不执行任何操作)怎么办。
价值会永远保留吗?还是会在一段时间后自动处理?
What if i stays long (not doing any action) in the particular Component(Page) where i have used Scoped and Transient service object.
请求从您在 url(或 link 或按钮)中按回车键开始,直到页面加载完毕。之后,请求结束。
HTTP 是无状态的,它没有任何永久连接或状态。如果一个页面需要 50 毫秒来加载,之后请求结束并处理服务。当您单击 link 时,一个新的请求会启动并实例化新的依赖项。
每个请求都会有一个新实例,所以不要 "store" 服务中的数据是下一个请求所需的。如果您只需要下一个请求的东西,请使用 TempData and if it needs to persist more than until next time its accessed, use Sessions
Will the value be retained forever ? or will it dispose automatically after some time?
请求结束后,不再保存访问服务。处理释放所有非托管资源(连接、文件句柄、非托管内存)。
对象本身会在内存中保留一些(未指定的)时间,直到垃圾收集开始并释放对象和内存。这假设您在请求结束后没有持有任何对服务的引用,因为只有没有引用的对象才能被垃圾回收。
这就是托管运行时的工作方式。垃圾收集不是确定性的,因此它可以在触发它的条件发生时随时发生。