在Windows 7 IIS7中,对服务器建立站点后,有二种添加子站点的方式

A. 虚拟目录
B. 应用程序
 
简单总结下二者之间的异同
A.虚拟目录
    虚拟目录是指在站点下建立一个虚拟子目录,指定一个固定的物理路径做为站点的应用路径。
    1. 虚拟目录与父级站点共用一个应用程序池
    例如:站点TestWeb(c:\Inetpub\wwwroot\ TestWeb)下建立了SubTestA(D:\SubTestA)的虚拟目录
        若TestWeb为设定了Framework V2.0,则SubTestA也必须是Framework V2.0的应用程序,否则将给带来Framework不匹配的各种错误。
    2. 虚拟目录必须将可执行文件(dll等)放置在父级站点的bin目录下。
    3. 虚拟目录中的web.config文件继承父级站点的web.config.
        就是说如果父级站点声明过的引用,在虚拟目录下的web.config中不应重复声明
    4. 虚拟目录中的应用其根目录为父级站点的根目录    
    5. 虚拟目录中的AppSetting.config设置应使用相对路径来进行引用。
B. 应用程序
    应用程序是指在父级目录下建立了一个单独的应用程序,独享应用程序池
    1. 应用程序可以与父级站点拥有不同的应用程序池
        即可以达到TestWeb为Framework V2.0,而SubTestA可以是Framework V4.0,二者互不影响
    2. SubTestA的可执行文件独立的放置在根目录下的bin中,不能放置在WebTest的bin目录中
    3. SubTestA的web.config独立于WebTest的web.config
    4. SubTestA中的应用其根目录为父级站点的根目录
    5. 虚拟目录中的AppSetting.config设置应使用相对路径来进行引用。
 
应用程序是建立在虚拟目录的基础之上,而应用程序独立于父级站点拥有独立的程序运行机制,这让同一站点拥有了运行不同框架集而不相互影响的能力
实际运用中需要根据不同的情况来选择虚拟目录或应用程序
 
追加疑问:
IIS下网站与网站下一个 虚拟目录/应用程序 能否共享session?比如IIS下有test网站,test网站下有一个subtest 虚拟目录/应用程序 是另一个ASP.NET项目的站点,主站点test和 虚拟目录/应用程序 subtest  之间能否直接共享session?
答案:不能!因为每个虚拟目录相当于是一个应用程序,而应用程序之间的Session是不共享的!只能通过cookies来共享主站点和 虚拟目录/应用程序 之间的信息,当然也可以考虑一些变通方案
 
 
 
 

IIS - 虚拟目录与应用程序的异同的更多相关文章

  1. iis虚拟目录或应用程序不继承父站点的web.config配置信息

    A为主站点 B为A的应用程序站点 再A的web.config中对不想继承的节点用location 套起来.如下: <location path="." allowOverri ...

  2. 修改IIS虚拟目录名称

    @echo off echo ------------------------------------------------------------------------------ echo - ...

  3. 转:修改IIS虚拟目录名称bat脚本

    @echo off echo ------------------------------------------------------------------------------ echo - ...

  4. 利用iis虚拟目录实现文件服务器功能(分布式存储)

    要求说明: 通过网站上传文件保存到统一的文件服务器上. 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebServer ...

  5. ASP.NET网站中获取当前虚拟目录的应用程序目录的方法(转)

    [原创]ASP.NET网站中获取当前虚拟目录的应用程序目录的方法 ASP.NET网站中获取当前虚拟目录的应用程序目录的方法1.问题描述:有时候,某个网页控件会被不同目录下文件使用,此时如果该控件中有一 ...

  6. 利用iis虚拟目录实现文件服务器功能

    要求说明: 通过网站上传文件保存到统一的文件服务器上. 服务器说明: 1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213 2.Web服务器为以下称为WebServer ...

  7. IIS虚拟目录实现与文件服务器网络驱动器映射共享

    这篇文章转载别人,想原创作者致敬! 我本人也遇到同样的问题,故转载记录. 本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本. 通常情况下,拥有多台服务器的朋友在使用IIS ...

  8. iis虚拟目录引发的路径问题

    在iis上把web程序配置成站点是ok的,但配置成虚拟目录,就会发现 图片路径不能,样式不能加载,链接出错. 解决方案: 1,上传图片  ~/upload 2,cs程序,链接跳转,请用~/index. ...

  9. 转:IIS虚拟目录实现与文件服务器网络驱动器映射共享

    这篇文章转载别人,想原创作者致敬! 我本人也遇到同样的问题,故转载记录. 本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本. 通常情况下,拥有多台服务器的朋友在使用IIS ...

随机推荐

  1. stm32f10x单片机进阶--spi使用

      使用SPI与外部flash(MX25L6406EM21)IC通信 连接方式                    如上图所示,MCU通过SPI2与外部flash芯片进行相连接. MCU spi2初 ...

  2. 理解webpack4.splitChunks之chunks

    上回说到按照默认的splitChunks配置,入口里面的第三方依赖没有打包出来,这个是因为chunks属性的原因,下面我们就介绍chunks属性的意义和用法. chunks的含义是拆分模块的范围,它有 ...

  3. php 生成唯一id的几种解决方法(实例)

    php 生成唯一id,网上查了下,有很多的方法 1.md5(time() . mt_rand(1,1000000)); 这种方法有一定的概率会出现重复 2.php内置函数uniqid() uniqid ...

  4. laravel开发之-(1)数据库链接测试

    composer安装成功后,网站建设的操作记录: 一.修改默认首页.伪静态配置文件 1.将serve.php改为index.php 2.public文件夹下的.htaccess文件复制到根目录下 二. ...

  5. 把KB转化为KB及以上单位

    /** * 把KB转化为KB及以上单位 * @param int $kb * @return string $new_val */ function return_over_kb($kb) { $kb ...

  6. zabbix_3.0安装部署与中文支持

    Zabbix 3.0界面焕然一新,一改10多年的老面孔,alpha4的更新具体记录如下:http://www.zabbix.com/rn3.0.0alpha4.php What's New in 3. ...

  7. C# winfrom提示框,点击则不显示,不点击则提示输入内容

    先看下效果图,初次进来是界面左边的效果,点击请输入账号,清除内容,可以直接输入,右边图                            以下代码是失去焦点的,一定要把控件的属性TabStop 改 ...

  8. aspnetcore 认证相关类简要说明三

    今天我们再来了解一个很重要的接口IAuthenticationService的实现类AuthenticationService: public class AuthenticationService ...

  9. 乘风破浪:LeetCode真题_009_Palindrome Number

    乘风破浪:LeetCode真题_009_Palindrome Number 一.前言 如何判断一个整型数字是回文呢,我们可能会转换成String来做,但是还有更简单的方法. 二.Palindrome ...

  10. 【心得体会】我考完MOS我明白了…

    [心得体会]我考完MOS我明白了… 原创 2017-11-10 MSP-李桑榆 MSPrecious成长荟 MOS备考 这篇文章写给还没有考或者准备考MOS的同学 网上有很多介绍MOS考试的 http ...