我们现在正在启动一个asp.net核心项目。在我们的旧应用程序中,我们使用了大量会话来存储应用程序中的值。但是,我们在使用会话时遇到了一些问题。
我的申请就像群组一样 - >部门 - >项目。如果用户选择我们要存储groupId的组(这用于导航或数据输入)。在部门和项目中也是如此。所以我们希望用户携带groupid,departmentnumber,projectid。它们可以更新。
例如我们有底部导航有当前组,当前部门,当前项目。因此,用户可以轻松单击导航链接,并按存储在应用程序中的groupid或departmentnumber转到特定的组或部门。
是否有任何方法可以像会话那样进行工作?
提前谢谢你。
答案 0 :(得分:2)
您是否考虑过使用查询字符串来嵌入全局变量?根据您的样本,它可能是这样的: /组/:的groupId /部门/:DepartmentID的....
然后通过在控制器ASP.NET路由中指定这些参数,您可以在每个操作中使用它们:
[Route("groups/{groupId:guid}/departments/{departmentId:guid}")]
public class DepartmentController : Controller
{
public ActionResult Index(Guid groupId, Guid departmentId)
{
}
}
相同的想法或其他控制器。
这是一个非常简单和无状态的解决方案,解决了许多案例;)