自己建一个工程,然后在当中新建其他的子工程,对于个各个工程之间要用SESSION传值,那么这个值就是传不到。
<sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
            cookieless="false" 
            timeout="20" 
    />
有人说WEB。CONFIG中设置,那问怎么设置呢???
mode="Off|Inproc|StateServer|SqlServer”???
请给出正确的答案。

解决方案 »

  1.   

    星星,你能解释一下你上面给出的代码吗?
    我用session就只会这样this.session["name"]=5;
    谢谢了
      

  2.   

    建一个工程,然后在当中新建其他的子工程??是工程还是解决方案啊?工程可以在当中新建其他的子工程的吗?真的可以吗?
    各个工程之间要用SESSION传值??为什么啊?可以吗?
    疑问!!!
    高!!!
      

  3.   

    Session只能在同一个Web应用程序里传递。
    Web应用程序在哪里?看IIS的站点或虚拟目录,每个都是独立的Web应用程序。
    一般vs创建Asp.Net都直接跟虚拟目录挂钩,所以一般一个工程就是一个独立的Web应用程序,Session不能传递。
      

  4.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=21714
      

  5.   

    楼上的答案:
    1.         建立一个空白解决方案blank solution,如:d:\MyProject\MyProject.sln2.         在d:\MyProject下建一个Web Application的根目录d:\MyProject\WebMis并设为http://localhost/WebMis的虚拟目录3.         在WebMis目录下根据模块分别新建目录,如:d:\MyProject\WebMis\Login和d:\MyProject\WebMis\CheckOut4.         在VS.net中根据模块新建web application,如:http://localhost/WebMis/Login和http://localhost/WebMis/CheckOut 5.         新建后Login和CheckOut两个目录自动被设置为虚拟目录6.  在WebMis项目中添加Login和CheckOut的项目引用7.在IIS管理器中删除Login和CheckOut的虚拟目录8.         删除各项目的global.asax(除根项目)9.         除去个项目的web.config(除根项目)中的如下代码:
    <authentication mode="Windows" />
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
    或删掉web.config(若不需要在各目录中进行配置)10.         编译后,即可运行。
    对该文的评论  
     CSDN 网友 ( 2004-06-19)  
    这种方式下,LOGIN和CHECKOUT两个项目的ASPX很难作为启动项目来调试了吧?  
     asting ( 2003-10-26)  
    我在多frame的页面经常出现登陆的session丢失的情况,请问怎么回事情呢?
     
      

  6.   

    你的session不在同线程,如果你一定这么传,用windows服务吧,
      

  7.   

    http://www.microsoft.com/china/community/Column/47.mspx
      

  8.   

    http://community.csdn.net/Expert/topic/3312/3312406.xml?temp=.1592066
      

  9.   

    http://community.csdn.net/Expert/topic/3266/3266300.xml?temp=.1896021
      

  10.   

    1. 建立一个空白解决方案blank solution,如:d:\MyProject\MyProject.sln2. 在d:\MyProject下建一个Web Application的根目录d:\MyProject\WebMis并设为http://localhost/WebMis的虚拟目录3. 在WebMis目录下根据模块分别新建目录,如:d:\MyProject\WebMis\Login和d:\MyProject\WebMis\CheckOut4. 在VS.net中根据模块新建web application,如:http://localhost/WebMis/Login和http://localhost/WebMis/CheckOut 5. 新建后Login和CheckOut两个目录自动被设置为虚拟目录6. 在WebMis项目中添加Login和CheckOut的项目引用7.在IIS管理器中删除Login和CheckOut的虚拟目录8. 删除各项目的global.asax(除根项目)9. 除去个项目的web.config(除根项目)中的如下代码:
    <authentication mode="Windows" />
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
    或删掉web.config(若不需要在各目录中进行配置)10. 编译后,即可运行。
      

  11.   

    同一个站点,不同虚拟目录下的Web应用程序不能共享Session。而VS.net 默认创建的 Web 工程是一个工程一个虚拟目录,一个工程使用一套自己的Web.config和Global.asax文件,这样我们在开发一个站点的多个关联项目(通过Session共享资源)的时候,就会遇到麻烦。
    解决这个问题并不难,把这些工程合并到一个虚拟目录下,至于Web.config和Global.asax,虽然一个工程可以配置一个,但是推荐还是整个web站点用一套配置,而且不同目录下的Web.config影响不同的目录下aspx的配置,如果根目录下和一个WEB应用程序目录下都有Web.config文件,而且都定义了,sessionState mode="InProc" 显然这两个应用的Session不可能共享了。
    具体来说,满足以下条件,可以实现同一站点Session共享。
    1、需要共享Session的站点去处虚拟目录设置,如下图:
     
    (图一,删除应用程序的虚拟目录,注意是点击删除按钮,不是卸载按钮,把自己的应用程序目录文件删除了我可不负责)
    2、保证整个站点有个Web应用程序必备的东西,比如Web.config和Global.asax。 这里的设置是要对整个站点负责的。简单的方法可以在站点的根目录创建一个Web应用。
    3、删除各个需要通用Session站点目录下Web.config和Global.asax文件中影响该应用程序的设置,比如下面框中是罗里的Web.config中应该删除的。
       
    满足以上条件就可以通用Session了。
    简单演示,实现webapp1 和 webapp2 Session互访:
    前提条件:
    有两个Web 应用 WebApp1,WebApp2在同一个站点。我们要演示的是 WebApp1应用中写一个Session值,比如Session["data1"]="data1"; 然后在WebApp2中读取出这个Session值。
    1、把两个Web工程包含在同一个解决方案中,比如:Solution3;(这个不用我图片演示了把,新建一个空白解决方案,然后把存在的两个Web工程加入这个解决方案)
    2、新建一个Web工程ShareNow1,这个工程是整个站点的Web工程,不用包含这个站点下的几个Web工程,如果从解决方案浏览器下看如下图:
     
    3、去除WebApp1和 WebApp2的虚拟目录配置。
    4、WebApp1和 WebApp2两个Web工程的Web.Config文件中删除一些设置,删除那些看上面提到的框。(为了减少麻烦,最简单的方法是直接删除Web.Config和Global.asax 两个文件。这样以后程序启动就调用它上级的这两个配置文件,也就是这个ShareNow1  web应用的这两个文件)
    5、在ShareNow1 web工程中增加对 WebApp1 WebApp2 两个Web工程的引用,注意:是工程引用,不是其他引用 看下图
     
    (图3 这三个Web工程是在同一个解决方案里面,这样才可以实现 工程引用),图2也可以看到把这两个工程引用到ShareNow1工程了。
    6、生成解决方案;
    7、在webapp1中WebForm1.aspx设定Session[“data1”]并显示;
    在webapp2中WebForm2.aspx显示由webapp1中WebForm1.aspx接受的Session[“data1”]的值。
      

  12.   

    对不起,图贴不上来,要不你mail给我,[email protected]
    我发word文档给你。
      

  13.   

    http://www.microsoft.com/china/community/Column/47.mspx
    按上面的方法设置,可行!