代码之家  ›  专栏  ›  技术社区  ›  Matteo Mosca

ASP.NET MVC和角色缓存?

  •  0
  • Matteo Mosca  · 技术社区  · 16 年前

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

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

    在调试、本地机器上运行时,一切正常。然而,在IIS7上部署时,我有一种奇怪的行为:

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

    在网上阅读时,我发现我提到的选项只是一个提供者的指令,这意味着如果我不实现它的用法,它将被忽略,对吗?

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

    有人知道IIS7中是否有任何隐藏的设置使事情正常运行?

    谢谢。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Matteo Mosca    16 年前

    很长一段时间后,我找到了解决办法。

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

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

    推荐文章