项目结构是这样的,

CM 和 SpecialCM 都是Asp.Net项目,在项目CM中有一个Login.aspx登录页面,登录成功后,在Session["userID"]中存入当前登录的用户名,并Redirect到项目SpecialCM下的一个页面中,但在该页面的Page_Load事件中,执行以下语句时出错:
string userName = (string)Session["userID"];
错误为:未能对象引用设置到对象的实例。
现在正在查找项目(也即WEB应用间)共享Session的资料,不知你们是否也曾遇到过这样的问题,如何解决的呢?
# re: 如何在应用间传递Session值?(InProc模式)
Session["userID"].ToString();# re: 如何在应用间传递Session值?(InProc模式)
不同项目要共项Session的解决方法如下:在站点根目录下放一个项目A
有项目B,C和Login
Login项目专门处理用户认证的
OK,
1、删除B项目的虚拟目录名(在IIS属性里应用程序名 删除)
2、删除C项目的虚拟目录名
3、Login的虚拟目录名也删除
B,C,Login的程序怎么跑起来呢?
应用程序会自动往上一级目录找bin目录下的dll文件
如果B,C,Login的dll包放在根目录下的Bin目录就好了
好放
进入VS.NET,在A项目的引用中添加引用,引用 B , C 和 Login
重新编译一下吧,OK,
Session就可以公用了