从页面外部访问应用程序状态

Posted

技术标签:

【中文标题】从页面外部访问应用程序状态【英文标题】:Access Application State from outside a Page 【发布时间】:2011-04-07 11:27:18 【问题描述】:

我正在尝试从 Web 应用程序中的实用程序类访问应用程序状态,但我不确定最好的方法。我寻找了一个静态成员,但没有任何用处(我在考虑 HttpContext.Current 的某个地方)。

到目前为止,我发现的最佳解决方案是在实用程序类中有一个成员,该成员将在 Global.asax.cs 的 Application_Start 事件中初始化(我可以从 this.Application 那里得到它)但是会有任何风险该引用发生了“某事”(我不关心应用程序是否重新启动,因为我只是在寻找缓存功能)?

【问题讨论】:

【参考方案1】:

我想我明白了!

HttpContext.Current.Application

【讨论】:

也适合我。谢谢。 @Cyber​​Dude:请考虑将此作为接受的回复。 只需在“应用程序”中加倍“p”即可:) 它不允许我只添加一个字符来编辑答案。【参考方案2】:

您可以简单地创建一个静态类成员:

public class MyGlobalCache

    public static string SomeValueget;set;

这将存储在应用程序级别,这意味着您可以获得与应用程序状态相同的功能。静态成员将在所有层(网页和非网页)中可用。

【讨论】:

【参考方案3】:

设计上无法从 HTTTPContext 外部访问应用程序状态。使用 Application_Start 是初始化“全局”值的首选方法。您也可以将Cache 类用于相同目的。 Cache 提供成员过期功能,这些功能对于因文件或数据库值更改等事件而发生更改的数据非常有用。

【讨论】:

是的,缓存有更多的功能,我可能会用它来代替。【参考方案4】:

试试

System.Web.HttpRuntime

【讨论】:

以上是关于从页面外部访问应用程序状态的主要内容,如果未能解决你的问题,请参考以下文章

保存/恢复android webview的状态

Confluence 6 从外部小工具中注册访问

如何访问组件外部的 react-redux 存储

如何从外部网络访问Kubernetes仪表板

无法远程调试应用程序 - 端口无法从外部访问

如何从外部应用访问另一个应用中的contentprovider