c# - 从子 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 项目)
解决方案
推荐阅读
- django - `_get_page` 实例化 Page 类
- msbuild - MvcBuildViews ASPNETCOMPILER 错误 ASPRUNTIME: 无法映射路径 '/temp'
- cortana - Cortana 通过代码在 Android 中拨打电话
- java-8 - 如何为我的 Windows 机器上安装的 tomcat 启用 java 飞行记录器?
- java - 无法覆盖rest API的spring security默认基本身份验证
- javascript - react-infinite-scroller 没有加载正确数量的项目
- angular - Angular 6 中使用 Cordova 的 Android 权限
- apache-spark - 使用 S3 for HDFS 时缺少数据节点局部性 - 最终一致性
- matlab - 如何在此 OCT 图像中找到特定点的高度?
- xamarin - Xamarin 仅选择一个单选按钮