Asp.Net Mvc - 将事物存储在在 Application_Start 中重新初始化的静态变量中是不是安全
Posted
技术标签:
【中文标题】Asp.Net Mvc - 将事物存储在在 Application_Start 中重新初始化的静态变量中是不是安全【英文标题】:Asp.Net Mvc - Is it safe to store things in a static variable that's reinitialized in Application_StartAsp.Net Mvc - 将事物存储在在 Application_Start 中重新初始化的静态变量中是否安全 【发布时间】:2013-03-08 20:17:53 【问题描述】:我有一些关于当前部署的一般非关键信息,这些信息收集在 Application_Start
中,当前存储在公共静态只读字符串中。
这只是一个小字符串,所以我不担心内存使用或任何事情。
从应用程序域回收的角度来看,这是否有效?是否会出现这样一种情况,即我的静态值中的值会简单地消失而不被重新初始化?
【问题讨论】:
如果异常阻止该值被正确填充(例如,您从配置文件中读取它并且配置文件已损坏),那么对应用程序的第一个请求将显示错误(我认为?)但所有后续请求都将以 null 值进行。 【参考方案1】:如果在填充变量之前发生异常并且异常被吞下,则字符串将为空。
【讨论】:
嗯......是的......这适用于您分配变量的任何时候。该问题专门针对静态变量、初始化和应用程序回收以上是关于Asp.Net Mvc - 将事物存储在在 Application_Start 中重新初始化的静态变量中是不是安全的主要内容,如果未能解决你的问题,请参考以下文章
将Asp.Net WebAPI从AngularJS App的Asp.Net MVC站点移动到一个单独的站点
如何将图片存储在 asp.net mvc 应用程序的 azure blob 存储中?
在 Asp.Net MVC 应用程序中使用 Structuremap 将 ISession 注入我的存储库
将 DbDataReader 的结果转换为 ASP.NET MVC 4 中的数据库模型,来自使用 ADO.NET 的存储过程 [重复]