zoukankan      html  css  js  c++  java
  • [开发笔记]-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(0,100)+" <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());
                }
            }

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

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

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

    测试效果:

    写入数据:

    显示数据:

  • 相关阅读:
    Idea快捷键---根据自己使用情况持续更新
    JVM 性能监控 工具
    redis ---RDB 和 AOF 持久策略对比
    数组、链表等常用数据结构和集合浅解(java)
    关于界面刷新嵌套展示(form标签 target 属性)问题
    对象是否存在的判定方法
    数据库大量插入数据的sql 优化
    Java集合之LinkedList
    Java集合类之ArrayList
    Java并发程序基础
  • 原文地址:https://www.cnblogs.com/babycool/p/3507319.html
Copyright © 2011-2022 走看看