现在的位置: 首页 > 综合 > 正文

Asp.net中如何处理一个站点不同Web应用通用Session的问题

2013年08月31日 ⁄ 综合 ⁄ 共 531字 ⁄ 字号 评论关闭
  • 问题描述
    采用Asp.net建立了解决方案S,S中有M1,M2,M3,M4四个模块,每个模块都是一个web应用。其中一个模块中设置Session后在其他模块中无法读取。
  • 问题原因
     一个Web应用相当于一个站点,应用与应用之间不可能共享Session。
  • 解决方法
    1)  将四个web应用包含在同一个解决方案中,如图所示:

    实际目录存储结构如下:

     (注:调整.webinfo文件使解决方案能构正常运行)
    2) 新建一个web应用Main,该web应用包含在解决方案S中,并直接存放在S目录下(即与虚拟目录S相对应)。
    3) 在Main应用中添加其他四个应用的引用,如图所示:

    4) 重新生成Main应用,此时,与Main模块相关的M1、M2、M3、M4四个模块的dll将生成于S/bin目录下。
    5) 调整web.config文件,删除M1、M2、M3、M4四个模块web.config中除AppSetting节以外的所有节。(也可删除四个模块中的web.config,只保留S目录下的web.config文件。)

    以下操作将影响开发环境
    6) 删除goble.asax
    删除M1、M2、M3、M4四个模块中的goble.acax文件。
    7) 删除M1、M2、M3、M4四个模块对应的虚拟目录
    8)大功告成

抱歉!评论已关闭.