比如,在本地路径“E:\workspace\Web\”下新建1个asp.net应用程序MyWeb,然后根据每个功能模块都新建对应的子项目。例如:在“E:\workspace\Web\Login\”下新建1个asp.net应用程序MyWeb.Login ,在“E:\workspace\Web\Bussiness\”下新建1个asp.net应用程序MyWeb.Bussiness,等等。现在,进行如下操作:1、建立虚拟目录映射“E:\workspace\Web\” 2、保留MyWeb下的应用程序全局类Global.asax和web.config,删除其他子项目的Global和web.config。 3、在MyWeb的Application_Start()里实例化一些全局对象(如加载配置文件)我的问题如下:
1、每个asp.net都是1个appdomain吗?appdomain相互之间不是独立的吗?为什么在MyWeb.Login和MyWeb.Bussiness里可以访问在MyWeb里实例化的对象?
2、看到网上说,如果是在同一个虚拟目录下,是1个“ASP.NET应用”,那么这些项目就可以共享对象。难道是因为MyWeb在物理路径上包含这些子项目?

解决方案 »

  1.   

    http://www.cnblogs.com/firstyi/archive/2008/03/14/1106068.html
      

  2.   

    自己顶一下!我想是否这样,IIS上部署的1个虚拟目录,也就是1个网站,才是1个appdomain。只要在同一个虚拟路径下,所有子项目都只是其中的一部分。
      

  3.   

    大家都知道,但是跟你讲不清楚1个网站可以有n个虚拟目录1个虚拟目录可以对应一个web application  也可以不对应 (如静态站点),1个webapplication 多数情况下只有一个appdomain 关于appdomain,请查看手册,这个东西设针对windows进程概念而诞生的
      

  4.   

    1个webapplication 只能有一个Global.asax和web.config
      

  5.   


    按你的说法,如果我在子项目中添加1个Global.asax和web.config,那么就产生了1个appdomain了?