C# 应用程序状态变量和应用程序级事件的使用

C# 应用程序状态变量和应用程序级事件的使用,c#,asp.net,C#,Asp.net,当谈到状态变量时,我知道视图状态变量和会话状态变量的用法。在需要保留跨页回发数据时查看状态变量。会话状态变量用于存储用户名、用户角色以及在整个会话中需要访问的值 但在实时项目中,应用程序状态变量的重要性是什么?这些变量中应该存储什么类型的值 什么是应用程序级事件,这些事件的实时用途是什么? 我们通常在Global.asax文件中的应用程序级事件中使用应用程序状态变量 请分享我们如何使用这些变量以及在哪里使用这些变量。您是如何在您的项目中使用应用程序状态变量的?我已经将应用程序状态变量用作非常小的

当谈到状态变量时,我知道视图状态变量和会话状态变量的用法。在需要保留跨页回发数据时查看状态变量。会话状态变量用于存储用户名、用户角色以及在整个会话中需要访问的值

但在实时项目中,应用程序状态变量的重要性是什么?这些变量中应该存储什么类型的值

什么是应用程序级事件,这些事件的实时用途是什么? 我们通常在
Global.asax
文件中的应用程序级事件中使用应用程序状态变量


请分享我们如何使用这些变量以及在哪里使用这些变量。您是如何在您的项目中使用应用程序状态变量的?

我已经将应用程序状态变量用作非常小的生产应用程序上的一种基本缓存,这些应用程序没有太多功能。但除此之外,我还没有发现它们有多大用处。例如,实现缓存框架非常简单;在服务器场中工作时,这些变量也变得非常无用

应用程序级事件基本上是那些存在于全局asax中的事件,如
应用程序启动
应用程序开始请求
应用程序错误
等。即使如此,我也不在这些事件中使用应用程序状态变量-总有更好的方法可以使用,比如配置文件


最后,为了保持代码整洁,最好将这些变量封装在某种类型的类中(最好是使用DI交换的抽象类),因此我认为在快速而肮脏的项目之外使用它们没有什么好处。

感谢您的回复。