【问题标题】:applicationstate in mvcmvc 中的应用程序状态
【发布时间】:2023-03-29 08:45:02
【问题描述】:

我正在使用 Application[""] 来存储一些非常小的列表。理想情况下,我会将其设置在唯一的位置.. Application_Start... 但是数据是否有可能在中间丢失,我可能不得不将这些列表存储回 Application_Start 以外的其他地方?如果是,我应该为任何类型的比赛条件做好准备吗?

如果您对使用 application_Data 有任何其他顾虑(例如可扩展性??),请告诉我...但是我将存储在其中的数据本身的大小将保持非常小。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    我不是专家,但如果列表是在运行时生成的,然后存储为应用程序变量,那么当应用程序池回收时,它们将丢失。我不确定,但我认为这可以解决。有关详细信息,请参阅此question

    确实会发生竞争条件,但它们是由应用程序管理的。如果需要,您可以随时使用Application.Lock() 函数,如here. 所述

    查看这篇关于 Application State 的 MSDN 文章,这篇文章很好读,可以解决您的顾虑。简而言之,以下是需要注意的问题:

    • 存储东西对内存的影响
    • 并发和同步
    • 存储应用程序变量的可扩展性影响
    • 以应用程序状态存储的信息的生命周期影响 - 不持久

    【讨论】:

    • 是的,我已经阅读了那篇 MSDN 文章,但我仍然无法决定是否应该继续阅读。
    猜你喜欢
    • 2018-09-17
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多