每个应用程序实例是否有持久存储 ASP.NET



在我 ASP.NET 托管在Windows Azure中的MVC3应用程序中,我想知道应用程序重新启动了多少次(以便我知道启动顺序是正确的(。所以我需要某种"变量",我可以从内部"递增"Application_Start()但它应该以某种持久的方式存储,否则它根本无法在应用程序重新启动后幸存下来。存储需要按应用程序实例进行。

当然,我可以使用系统注册表或一些临时文件,但我想应该有更好的东西。

ASP.NET 基础结构中是否有任何可用于我的方案的内容?

你可以

使用Windows Azure Table Storage。只要大声思考,你可以有一个名为 ApplicationRestarts 的表,每次应用程序启动时,你都可以将一个实体放入该表中。该实体可以具有以下属性:

  • 分区键:可以是重新启动应用程序的日期/时间。或者它可以是角色实例名称。
  • 行键:同上。如果选择日期/时间作为分区键,则角色实例名称可以是 RowKey,反之亦然。
  • 角色
  • 名称:角色的名称(以防万一您在捕获该角色时感到不安(。
  • 角色实例
  • 名称:角色实例的名称。
  • 重新启动
  • 时间戳:角色实例重新启动的日期/时间。
  • 元数据:您可能想要捕获的其他一些信息。

如果您使用的是 Windows Azure 虚拟机,则可以创建一个将在回收池事件后触发的 powershell 脚本。

http://blogs.technet.com/b/wincat/archive/2011/08/25/trigger-a-powershell-script-from-a-windows-event.aspx

更多有用的链接:

https://webmasters.stackexchange.com/a/17633

https://stackoverflow.com/a/13623638/1384539

最新更新