2

我在 asp.net mvc (C#) 中有一个应用程序,其中每个用户都有不同的产品共享一个由用户 ID 分隔的公用表。

我需要SqlCacheDependency为每个用户的产品实施。

场景是:假设有两个用户(user1 和 user2)和根据用户 ID 为他们分配的产品。

我需要缓存SqlCacheDependency每个用户使用的产品,因为他们不会经常更新/更改它。即使属于 user2 的产品发生更改,我也需要维护 user1 的缓存。

我如何维护SqlCacheDependency基于用户 ID 的产品共享一个公用表?

4

1 回答 1

0

可能需要用户id缓存的不是SqlCacheDependency,而是HttpContextCache条目。

这对你有用吗?(我假设userProducts是你的DataTableList<Product>适当的。

var cmd = new SqlCommand("select * from product where user_id = @user_id");
cmd.Parameters.Add("@user_id", userId);
HttpContext.Current.Cache.Insert(string.Format("products:{0}", userId), userProducts, new SqlCacheDependency(cmd));
于 2010-01-25T20:19:16.907 回答