美好的一天。我必须将 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/