c# - 如何获取业务逻辑层内的 session 值?

标签 c# asp.net

美好的一天。我必须将 session 值传递给业务逻辑层,我可以将其从表示层传递给函数,但如何直接在业务逻辑层中访问它?将其直接传递到业务逻辑层也是一个好方法吗

GetMyRecords(Count,Session["userID"].toString()); ?

最佳答案

根据上面 John 的回复,理想情况下您不想访问业务层中的任何 UI 元素。 您应该将 session 值从表示层传递到业​​务层,以便业务层只知道这些值,而不知道它们来自哪里。

关于如何从表示层传递值的第二点 我建议您至少应该将 Session["userID"].toString()) 包装为表示层中的属性。 因为它是一个属性,所以您可以根据需要添加检查/验证逻辑。

此外,我发现拥有一个包装器 SessionWrapper 类并在应用程序中使用它来访问 session 值会更干净。这样做的优点是,如果您的 session 持久性发生变化,通常只是一处更改。当然,这不是必需的,因为即使您创建自己的提供程序,也可以通过配置插入 .NET session 提供程序。

关于c# - 如何获取业务逻辑层内的 session 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544687/

相关文章:

asp.net - 当前上下文中不存在名称 'Resources'

c# - 使用 NLog 在 ASP.NET Core 中记录异常

c# - WPF 应用程序完全卡住 1 分钟

c# - 将 C# 系统转换为跨平台应用程序的最佳编程语言?

C#将公共(public)字符串传递给函数

.net - BITS 客户端无法指定 HTTP Range header

c# - 如何在 C# 中设置 PropertyGrid 项的长度?

c# - 为什么 EventRecord.FormatDescription() 返回 null?

asp.net - 母版页继承标签问题

c# - 如何删除在 asp.net 中动态创建的文本框?