说一下我想要实现的效果:

假如我做一个图片展示类的网站,或者其他需要用户上传文件的网站,需要将用户上传的文件保存到一个Uploadfiles文件夹下,一般我们在做项目时用户上传的文件都是保存在网站项目的同目录下,而考虑到随着网站的逐渐运行,这个Uploadfiles文件肯定会越来越大。所以,考虑到这一点,我就想能不能实现将这个Uploadfiles文件夹放在其他的磁盘目录下,比如网站项目放在服务器C盘下,而Uploadfiles文件夹放在D盘下。

开始考虑用虚拟目录来实现,但是又担心项目中在使用该目录时会出现找不到目录的问题。后来测试发现需要注意一个地方,就不会报错了。

我的网站项目:

Default.aspx页面用于向虚拟目录中写入数据;Web.aspx页面用于读取虚拟目录中的数据。

搭建到IIS中的目录结构:

Upload文件夹为我创建的虚拟目录,引用的是其他磁盘下的一个文件夹。

通过高级设置中可以看到:

说明:

这里为了模拟向虚拟目录中传入数据,用向文本文档中写入数据来测试。

Default.aspx页面中的代码:

        protected void Page_Load(object sender, EventArgs e)
{
string path = Server.MapPath("~/Upload/eds.txt"); using (StreamWriter sw=new StreamWriter(path,true))
{
Random r = new Random();
sw.Write("我又加了一条 "+r.Next(,)+" <br/>");
}
Response.Write("ok");
}

Web.aspx页面中的代码:

        protected void Page_Load(object sender, EventArgs e)
{
string path = Server.MapPath("~/Upload/eds.txt"); using (StreamReader sr = new StreamReader(path, true))
{
Response.Write(sr.ReadToEnd());
}
}

运行,数据就会写入到虚拟目录中了,和真实目录效果一样。

我在几次测试过程中出现了一次错误:

这种情况下,将应用程序池由集成模式改为经典模式就能运行了。

测试效果:

写入数据:

显示数据:

[开发笔记]-ASP.NET项目在IIS上使用虚拟目录的更多相关文章

  1. ASP.NET项目在IIS上使用虚拟目录

    在IIS中,应用程序与虚拟目录特别容易混淆,但两者又是完全不同的概念. 应用程序是一个逻辑边界,这个边界可以分隔网站及其组成部分.虚拟目录则是一个真实的指针,这个指针指向了一个本地或远程的物理路径.虚 ...

  2. 部署网站: 配置项目到iis上运行报目录错误

    配置项目到iis上运行报目录错误 以下三种方法可使用: 1.添加文件访问权限 everyone  (线上环境慎用) 2.重新注册iis 3.web.config 加一段话 在<system.we ...

  3. 记一次asp.net core 在iis上运行抛出502.5错误

    asp.net core 在iis上运行抛出502.5异常的部分原因以及解决方案 环境说明 已安装 .net core runtime 2.1.401 已安装 .net core windows ho ...

  4. Asp.net MVC 如何向webform一样在IIS里添加虚拟目录

    相信很多用webform的程序猿都习惯性的使用虚拟目录的形式来对一个程序添加新的功能,那么在mvc下该如何来弄呢? 首先得有一个项目基层的项目,然后我们在这个项目的基础上新增一个功能模块,例如信息发布 ...

  5. 安卓开发笔记——关于开源项目SlidingMenu的使用介绍(仿QQ5.0侧滑菜单)

    记得去年年末的时候写过这个侧滑效果,当时是利用自定义HorizontalScrollView来实现的,效果如下: 有兴趣的朋友可以看看这篇文件<安卓开发笔记——自定义HorizontalScro ...

  6. 通过发布项目到IIS上,登录访问报系统找不到System.Web.Mvc

    我发布项目到IIs,通过IIS的端口来访问直接下面的错误

  7. Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示

    前言   在ubuntu上实现MPlayer播放器播放音乐.   Demo                Mplayer   MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...

  8. 给 IIS Express 配置虚拟目录

    使用 vs2015 打开旧项目,之前使用 iis 配置站点,然后在 vs 中附加 w3wp.exe 进行开发和调试的. 由于种种原因 iis 上配置站点各种失败. 之后发现,其实在 vs2015 中按 ...

  9. IIS 中的虚拟目录 和软连接

    在WIndows 中 可以这样设置 mklink /D  C:\bb C:\cc 这样 bb 就指向 CC了 bb 在IIS中的目录其实就是虚拟目录 .这样大的文件就不用存放在IIS中了,可以放在其他 ...

随机推荐

  1. STVD中将现有工程重命名为另一个工程

    http://blog.csdn.net/sy_lixiang/article/details/47273649 例子:把工程名为Template的工程改为color,把左边红圈部分重命名为右面的名字 ...

  2. 第一篇:初识ASP.NET控件开发_第三节:“生死有序”的控件生命周期

    一.Page本质是一个Control 我们首先要澄清的第一个概念是页面类Page本质是一个控件类,它派生于TemplateControl类,而TemplateControl派生自Control类.既然 ...

  3. [转]PostgreSQL教程:系统表详解

    这篇文章主要介绍了PostgreSQL教程(十五):系统表详解,本文讲解了pg_class.pg_attribute.pg_attrdef.pg_authid.pg_auth_members.pg_c ...

  4. java 泛型中class<T> 和T的区别是什么?

    public <T> boolean edit(T entity) 和public <T> T get(Class<T> c, Serializable id)中这 ...

  5. Matlab之视角旋转函数[转]

    Matlab中有两个视角旋转函数:view和rotate,下面详细介绍: view: 一: view(az,el):az是方位角,el是仰角,单位均是度.具体: 以x轴从左到右(即从小到大)平行放置在 ...

  6. Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题(持续更新)

    严正声明: 在linux下面使用命令行操作时,一定要懂得命令行的意思,然后再执行,要不然在不知道接下来会发生什么的情况下输入一通命令,linux很有可能崩掉. 因为在linux下面,使用sudo以及r ...

  7. Spring Security教程(七):RememberMe功能

    在之前的教程中一笔带过式的讲了下RememberMe记住密码的功能,那篇的Remember功能是最简易的配置,其功能和安全性都不强.这里就配置下security中RememberMe的各种方式. 一. ...

  8. 关于的 recorder robotium 的Eclipse插件(URL:http://recorder.robotium.com/updates/或者说不可用)

    最近在学robotium.看到别人说robotium的Eclipse的插件非常好用. 打算安装时.发现死活都无法连接http://recorder.robotium.com/updates/ 过程是  ...

  9. iOS7相机隐私判断

    转自:http://borissun.iteye.com/blog/1992303 装了iOS7的ip5的隐私设置里多了相机这一项(ip4装iOS7就没有). 如果隐私里把你的app对应的相机给关了, ...

  10. HTML5学习笔记(十八):闭包

    高阶函数 JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,也可以返回一个函数,这种函数就称之为高阶函数. 函数作为参 ...