gpt4 book ai didi

asp.net - 通过依赖注入(inject)传递 ASP.NET 用户

转载 作者:行者123 更新时间:2023-12-04 23:32:43 26 4
gpt4 key购买 nike

在我的 Web 应用程序中,我有各种组件需要访问当前经过身份验证的用户 (HttpContext.User)。

组件可以通过两种明显的方式访问它:1) 从 HttpContext.Current 访问获取用户2) 在构造函数中传递用户

  1. 并不理想,因为它使测试变得困难,并将应用程序组件与网络问题联系在一起,而实际上他们不应该知道它。
  2. 只是杂乱无章,让一切都变得复杂。

所以我一直在考虑使用 IoC 容器(通过依赖注入(inject))将当前用户(或者可能只是名称/ID)传递给任何需要它的组件。

是否有人使用此技术将当前 ASP.NET 用户提供给应用程序的某些部分?或者,这听起来像是一种明智的方法吗?我想知道这对人们来说效果如何。

谢谢

更新:感谢 Raj 提供了一个很好的例子。如果有人有使用 AutoFac 的类似示例,将不胜感激!

更新 2:感谢您的回答,希望我能拆分接受!

最佳答案

在autofac中:

builder.Register(c => HttpContext.Current.User.Identity).HttpRequestScoped();

关于asp.net - 通过依赖注入(inject)传递 ASP.NET 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824649/

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