首页 > 解决方案 > 从子 MVC 站点更新 Web 表单站点中的会话

问题描述

让我画一个丑陋的画面。

我维护的主要应用程序是用 C# 编写的,webforms。我进行的任何新开发都是在 MVC、EF 等中完成的。

所以 90% 的网站仍然是 web 表单,10% 是 MVC。

Webforms 站点使用某些用户控件来选择用户想要获取信息的项目。将其视为一个事件,他们选择事件 1,然后所有页面都显示该事件的信息。这些设置/选择保存在 cookie 和/或会话变量中。

我的问题是,我正在慢慢地将站点转换为 MVC,因此我需要能够从 MVC 视图更新选定的事件,但在 webforms 站点中让该选择“已知”。

两者都是 2 个不同的代码库。

更新事件的网络表单代码是:

Admin.AdminSession.GetCurrent().EventID = selectedEventID;

GetCurrent() 返回这个

get { return (AdminSession)HttpContext.Current.Session["AdminSession.Current"]; }

但我的 MVC 应用程序似乎无法从会话中读取。我努力了

HttpContext.Session["AdminSession.Current"];

this.ControllerContext.HttpContext.Session["AdminSession.Current"];

但两者都产生 null

那么,有没有办法从子应用中读取会话?对于上下文,层次结构是这样的

rootsite.com (webforms) rootsite.com/subfolder (mvc 项目)

标签: c#asp.netasp.net-mvc

解决方案


推荐阅读