[开发笔记]-ASP.NET项目在IIS上使用虚拟目录
说一下我想要实现的效果:
假如我做一个图片展示类的网站,或者其他需要用户上传文件的网站,需要将用户上传的文件保存到一个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上使用虚拟目录的更多相关文章
- ASP.NET项目在IIS上使用虚拟目录
在IIS中,应用程序与虚拟目录特别容易混淆,但两者又是完全不同的概念. 应用程序是一个逻辑边界,这个边界可以分隔网站及其组成部分.虚拟目录则是一个真实的指针,这个指针指向了一个本地或远程的物理路径.虚 ...
- 部署网站: 配置项目到iis上运行报目录错误
配置项目到iis上运行报目录错误 以下三种方法可使用: 1.添加文件访问权限 everyone (线上环境慎用) 2.重新注册iis 3.web.config 加一段话 在<system.we ...
- 记一次asp.net core 在iis上运行抛出502.5错误
asp.net core 在iis上运行抛出502.5异常的部分原因以及解决方案 环境说明 已安装 .net core runtime 2.1.401 已安装 .net core windows ho ...
- Asp.net MVC 如何向webform一样在IIS里添加虚拟目录
相信很多用webform的程序猿都习惯性的使用虚拟目录的形式来对一个程序添加新的功能,那么在mvc下该如何来弄呢? 首先得有一个项目基层的项目,然后我们在这个项目的基础上新增一个功能模块,例如信息发布 ...
- 安卓开发笔记——关于开源项目SlidingMenu的使用介绍(仿QQ5.0侧滑菜单)
记得去年年末的时候写过这个侧滑效果,当时是利用自定义HorizontalScrollView来实现的,效果如下: 有兴趣的朋友可以看看这篇文件<安卓开发笔记——自定义HorizontalScro ...
- 通过发布项目到IIS上,登录访问报系统找不到System.Web.Mvc
我发布项目到IIs,通过IIS的端口来访问直接下面的错误
- Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示
前言 在ubuntu上实现MPlayer播放器播放音乐. Demo Mplayer MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...
- 给 IIS Express 配置虚拟目录
使用 vs2015 打开旧项目,之前使用 iis 配置站点,然后在 vs 中附加 w3wp.exe 进行开发和调试的. 由于种种原因 iis 上配置站点各种失败. 之后发现,其实在 vs2015 中按 ...
- IIS 中的虚拟目录 和软连接
在WIndows 中 可以这样设置 mklink /D C:\bb C:\cc 这样 bb 就指向 CC了 bb 在IIS中的目录其实就是虚拟目录 .这样大的文件就不用存放在IIS中了,可以放在其他 ...
随机推荐
- 在ToolStrip中加入具有更好体验性的DateTimePicker
一. 需求的产生 很多时候,需要根据年月或日期来检索数据.在我的数据库中,如果只需要以月为单位,我一般按照200801这样的格式(yyyyMM)保存为int类型.在做数据检索时,是根据工具栏 ...
- python标准库介绍——36 popen2 模块详解
==popen2 模块== ``popen2`` 模块允许你执行外部命令, 并通过流来分别访问它的 ``stdin`` 和 ``stdout`` ( 可能还有 ``stderr`` ). 在 pyth ...
- django -- 为model 指定数据库名
一.为model指定数据库名: django自己实现的ORM中.如果要指定一个model的表名是通过Meta类来实现的. from django.db import models # Create y ...
- uefi+GPT分区安装ubuntu[zz]
现状:1.预装win8的笔记本几乎都是uefi启动模式,配合GPT磁盘分区,于是遇到了“麻烦”不会装了,或者说按照老教程安装,结果失败了.而且有很多人在问怎么解决,其实网上就有嘛,关键词就是“uefi ...
- nginx静态资源缓存与压缩
一.静态资源缓存 参考文章 (1)apache设置max-age或expires 这里需要修改.htaccess文件. <IfModule mod_headers.c> <Files ...
- Android 版本对于 API
Android版本 API 代号 官网链接 Android 2.3.3 API 10 Gingerbread 官网 Android 3.0 API 11 Android 3.1 API 12 Andr ...
- VLAN,GRE,VXLAN
https://www.cnblogs.com/charles1ee/p/6629009.html VLAN介绍 局域网LAN(多个机器连接一个Hub或者Switch),是一个广播域 VLAN:一台S ...
- C++ pair(对组)用法
类模板:template <class T1, class T2> struct pair 参数:T1是第一个值的数据类型,T2是第二个值的数据类型. 功能:pair将一对值组合成一个值, ...
- localtime 和 localtime_r
#include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h> ...
- 基于OCS实现高速缓存
OCS简介 OCS( Open Cache Service)为分布式高速缓存服务,主要实现热点数据的快速响应: OCS支持Key/Value的数据结构,兼容memcachebinary protoco ...