【发布时间】:2013-10-16 09:54:09
【问题描述】:
在我托管在 Windows Azure 中的 ASP.NET MVC3 应用程序中,我想知道应用程序已重新启动了多少次(以便我知道启动顺序是正确的)。所以我需要某种“变量”,我可以从Application_Start() 内部“增加”,但它应该以某种持久的方式存储,否则它根本无法在应用程序重启后存活下来。存储需要针对每个应用程序实例。
当然我可以使用系统注册表或一些临时文件,但我想应该有更好的东西。
在 ASP.NET 基础架构中有什么东西可以用于我的场景吗?
【问题讨论】:
-
如果您可以访问文件系统,您可以在 AppData 目录中存储一个 Text 或 XML 文件。如果您有权访问 SQL Server,您也可以将其存储在那里。这看起来很简单,还是我错过了什么?
-
@ErikPhilips:是的,这很简单,但代码量很大。我希望有一些更简单的东西,比如会话变量。
-
@ErikPhilips - 如果这是在云服务中运行的 Web 角色,则本地存储将不够用,因为无法保证存储将保持存在。另外:即使您确实存储在每个实例上,您也只能通过连接到每个实例来收集此类数据。一旦你将in 扩展到更少的实例,你就会丢失有价值的数据。请参阅下面 Gaurav 的回答,了解外部化、持久的存储解决方案。
标签: asp.net asp.net-mvc-3 iis azure iis-7