1

我是 AppFabric 的新手。我将我的应用程序配置为使用 AppFabric 进行会话管理。但我无法使用缓存 API 读取会话数据。

我使用以下逻辑阅读。

Session['Name'] = 'x';
public static DataCacheFactory cacheFactory = new DataCacheFactory();
private DataCache cache = cacheFactory.GetCache("EmpCache");
cache.Get("Name", out version);

是预期的吗?

4

1 回答 1

1

如果您已将 AppFabric 设置为会话状态提供程序,则无需自己查询缓存;您应该将会话状态缓存视为一个完全独立的黑匣子。因此,对于您的示例,代码应为:

Session["Name"] = "x";
// AppFabric stores the session state somewhere

// A short time (and possibly a postback) later
string name = Session["Name"]);
// The provider takes care of retrieving the value from the AppFabric cache

(相比之下,如果您使用 In-Process 提供程序存储会话状态,则不会开始尝试以这种方式在内存中查询提供程序的内部;以相同的方式处理 AppFabric 提供程序)

于 2013-09-23T15:36:15.177 回答