我写了一个 asp.net 网站。 我有一个 BLL 项目(意思是 dll 类型的项目) 我想在其中为 session 保存一些静态数据。
我该怎么做?如果我将它们声明为静态的,那么对于应用程序,它们将是静态的。 有没有办法避免将它们保存在 asp.net session 字典中(我不想给网站增加负担,毕竟它在 BLL 中)。
TIA
最佳答案
session 是存储此数据的正确位置。
要在 BLL 中使用它,您可以从 session 中抽象出来并创建某种隐藏实现的 UserStore。这可以通过 DI 注入(inject),可能使用 IoC 容器。
一种更简单的方法是在构造 BLL 对象或调用方法时传入对当前 HttpContext 或 session 的引用。理想情况下,您会使用 abstractions库以保持其可测试性。
关于c# - 如何保存Session BLL的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7481029/