有没有办法在非 Web C# 项目中使用 Session 变量?

问题描述

我目前正在开发一个使用 3 个项目、一个网络项目、一个定义项目和一个数据项目的网站。因为我想以不同的语言发布网站,所以我使用会话变量来设置语言。现在我必须从数据项目中翻译一些东西,但我不知道如何在其中设置会话变量。它已经在带有 HttpContext.Current.Session 的 web 项目中工作,但要使用此方法,您必须使用控制器。因为我不想在数据项目中有控制器我想问一下是否有另一种方法可以为这个项目使用会话变量...... 我希望你能帮帮我 提前致谢

解决方法

如果我正确地解决了您的问题,那么您在层/抽象/架构方面遇到了一些麻烦...数据项目是否类似于数据访问层?是否用于访问数据存储(Database)?如果是,它不应该知道有关 UI 内容(会话变量、HttpContext 等)的任何信息。

因此,理想情况下,Controller 应该从 Session 对象中检索语言并作为参数传递给数据层。取决于那个参数,数据项目应该做出决定。

我可能对数据项目定义有误...