1

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

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

ASP.NET 基础结构中有什么可以用于我的场景吗?

4

2 回答 2

2

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

  • PartitionKey:可能是应用程序重新启动的日期/时间。或者它可能是角色实例名称。
  • RowKey:同上。如果您选择日期/时间作为 PartitionKey,则角色实例名称可以是 RowKey,反之亦然。
  • RoleName:角色的名称(以防您有兴趣捕获它)。
  • RoleInstanceName:角色实例的名称。
  • RestartTimestamp:日期/时间角色实例已重新启动。
  • 元数据:您可能想要捕获的其他一些信息。
于 2013-10-09T07:25:13.843 回答
0

如果您使用的是 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

于 2013-10-09T13:03:53.327 回答