ASP.NET MVC和角色缓存?

时间:2009-12-16 12:41:50

标签: asp.net-mvc caching roles

我正在开发一个带有自定义成员资格和角色提供程序的ASP.NET MVC应用程序。

我的自定义角色提供程序使用LinqToEntities查询用户/角色映射表,并检索用户是否在角色中。

在调试,本地机器上运行时,一切都很好。但是,在IIS7上部署时,我有这种奇怪的行为:

当我将角色更改为用户,然后使用该用户登录时,它会保留旧角色,而不是新角色。就像它们被缓存到某处,但我已经在Web.config中设置了cacheRolesInCookie="false"选项

在网上阅读,我看到我提到的选项只是提供者的指令,这意味着如果我没有实现它的用法,它将被忽略,是吗?

这让我感到困惑。每次调用方法时,我的提供者都应该执行一个新的查询。它在本地工作,但不在IIS7的部署机器上工作。

任何人都知道IIS7中是否有任何隐藏设置可以使工作正常?

感谢。

1 个答案:

答案 0 :(得分:2)

很长一段时间后我找到了解决方案。

问题出在我用来读取用户/角色的EF上下文中。

我修复了每次检查角色时重新上传上下文,而不是在应用程序重新启动之前保持相同的上下文。