4

我知道 Azure 如何保留 SESSION 状态——我已经使用基于 Neil MacKenzie 的Microsoft Windows Azure Development Cookbook的 AppFabric 在我的应用程序中实现了它。但是,这种基于 AppFabric 的方法显然不会保留我的应用程序需要的 APPLICATION 状态(例如Application["name"] = MyObject)。

我怀疑我需要使用 Azure Tables,但这需要重新编码。所以在走这条路之前,我想知道是否有一种更简单的方法来保存应用程序状态,最好是不需要重新编码我的应用程序的方法。

谢谢,

账单

4

2 回答 2

7

抱歉,没有什么比直接替代 Application[key] 方法更好的了。

最好的办法是使用Azure 缓存。我相信你已经在间接使用 Azure 缓存,使用上面书中的方法来处理会话状态。

缺点可能是缓存的项目不会永远存在,它们的最长寿命约为 72 小时。因此,无论何时访问缓存项,都必须进行类似于以下伪代码的测试:

object o = cache.Get("MyItem"); 
if (o != null){ 
   MyType myType = (MyType) o; 
   //use the item
} 
else 
{  
//recreate the item 
}
于 2012-05-26T19:53:46.017 回答
1

值得注意的是,微软推荐 SQL 数据库作为服务器端状态管理的首选存储方式。

尽管我会坚持使用 Chris 提到的 Azure 缓存。

于 2017-08-07T12:55:17.893 回答