gpt4 book ai didi

asp.net - PostAuthenticateRequest 多次触发

转载 作者:行者123 更新时间:2023-12-04 15:04:40 25 4
gpt4 key购买 nike

我有表单例份验证,我需要一个自定义对象存储在 HttpContext.Current.User 和 Thread.CurrentPrincipal 中。

为了得到这个,我听了 PostAuthenticateRequest 事件,然后从数据库中读取我需要存储在 HttpContext.Current.User 和 Thread.CurrentPrincipal 中的所有用户数据,然后我实例化自定义 IPrincipal 和 IIdentity 对象并将它们分配给上面地点。

问题是,由于某种原因,PostAuthenticateRequest 为单个请求触发了多次.. 这会导致不必要的数据库往返,从而损害性能..

我应该如何解决这个问题? (ASP.NET MVC 2)

谢谢。

最佳答案

您确定它为单个请求运行了多次吗?请记住,页面上引用的每个资源(例如图像和样式表)都将触发此事件,因为它们被视为单独的请求。最好建议您简要缓存自定义对象并检查它们是否存在于缓存中,如果不存在则仅转到数据库。

您需要对缓存实现一些锁定,因为这些请求通常非常接近地发生。

关于asp.net - PostAuthenticateRequest 多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3195972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com