c# - 如何保存Session BLL的变量?

标签 c# asp.net session

我写了一个 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/

相关文章:

c# - 使用 ASP.NET 开发服务器进行单元测试 MVC

asp.net - 查找同一列的行之间的差异(时间数据之间的差异)

c# - 当我更新一行时,gridview 中的所有行都会更新

php - 如何向未登录用户显示独特的内容?

c# - UnixEpochDateTimeConverter - 无法获取 token 类型 'Number' 的值作为字符串

c# - ASP.NET MVC 3 RC - Razor "View"属性

c# - 为什么这个私有(private)方法确实从另一个类中执行?

c# - 为什么net Framework 4.5 azure部署忽略应用程序服务连接字符串

c# - 解决 signalR 的 session 问题

java - Spring添加web.xml配置时Session总是过期