• MVC web应用如何在IIS Express中使用虚拟目录


     在asp.net web项目开发中,有时候会涉及到虚拟目录的问题,使用虚拟目录功能映射一个非项目内的文件夹实现文件共享,这个功能在IIS中很好实现,鼠标右键“添加虚拟目录”然后添加虚拟文件夹的目录名称和实际物理路径之后即可完成。

       废话少说,直接上解决方案

       假设需求:访问example.comuserfilesavater.jpg

       项目里不存在userfiles这个文件夹,需要使用D:webfilesavater.jpg这个文件

       1. 首先需要解决MVC的路由问题,让指定的某个网站目录不要走路由,在RouteConfig.cs中加入如下路径忽略代码

    routes.IgnoreRoute("userfiles/{*pathinfo}");

           注意不要写成"/userfiles/{*pathinfo}",会报错提示不能使用/开头。

        经过以上的步骤,MVC应用程序在接受到访问/userfiles/*的请求时就会绕过路由直接访问userfiles目录,而不是去找userfiles这个controller了。

        2. 设置目录映射,如果是在IIS中运行的,按文件开头提示的方法添加虚拟目录即可。

        但是如果是在IIS Express中,则需要手动编辑IIS Express的applicationhost.config文件,具体文件路径根据你所使用的操作系统而定,win10的路径在C:UsersUserDocumentsIISExpressconfig,将User替换成当前用户,此处涉及windows的使用不多讲。

            

        使用文本编辑器(notepad++,UEditor,记事本都行),打开applicationhost.config文件,在<sites></sites>节点中找到你的MVC web应用的节点,在<application></application>内添加以下文 

        将path的值设置为网站目录,physicalPath的值设置为所需要的映射的实际物理路径即可。

        

    <virtualDirectory path="/userfiles" physicalPath="D:webfiles" />

    至此,Done。

    文字转载于:https://www.tnblog.net/mingmir/article/details/3706

  • 相关阅读:
    一个机智的数组去重方法
    gets(),fgets()的作用机制探究
    性能优化之布局优化
    android 中theme和style的语法相关
    可以一直滚动的跑马灯
    ExpandableListView的OnitemLongclickListener事件
    关于 edittext 软键盘退出监听解决办法
    Android 开发之拦截EditText的输入内容,定制输入内容
    decimalFormat(小数格式)
    oracle常用
  • 原文地址:https://www.cnblogs.com/riddly/p/13747926.html
Copyright © 2020-2023  润新知