< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

通常在IIS6下部署ASP.NET MVC应用程序的时候,都是直接设置把所有请求都交由ASP.NET的ISAPI处理。MVC是基于ASP.NET的,框架默认对于任何请求都会优先检查物理路径是否存在物理文件,如果存在的话就不通过MVC的路由机制,否则才走路由。

因此,如果在不考虑控制静态资源权限的情况下,可以设置静态资源不通过ASP.NET的ISAPI,而直接由IIS处理,通过这种方式提升一些性能。本文围绕这个主题,详解部署过程。

0.在设计MVC网站的时候,把静态资源统一放在一个文件夹下,建议目录结构使用小写字母

1.把web应用程序发布到某个路径下(略)(顺便提一句,MVC2功能上比MVC3弱一些,用到的组件很少,可以直接私有部署System.Web.Mvc;但是MVC3因为功能增加,而且引入了Razor引擎,依赖的组件增多,建议在部署的时候直接安装MVC3)

2.创建一个web站点(略)

3.右击创建的web站点,选择属性,切换到Home Directory页

4.点击Configuration,在Wildcard application maps中,点击Insert,添加C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,取消Verify that file existsg的勾选。(如果使用MVC2的话,可以到2.0下去找这个dll。这里去掉对静态文件的验证是关键,这使得asp.net处理所有的请求)

5.点OK

6.允许ASP.NET 4.0扩展

7.content目录是静态资源放置的目录,设置content目录下请求直接由IIS处理以提高性能。右击content,属性

8.点击create,再点击configuration,移除Wildcard application maps下的内容。点击OK。这里利用了IIS的一个bug,把目录设置成虚拟目录,删除Wildcard application maps的设置,这样这个虚拟目录的请求就直接由IIS处理了。

9. 再点击Remove,把虚拟目录恢复成普通目录。这样只有这个目录下的文件会受到IIS的“眷顾”

10.设置AppPool权限。点击站点使用的AppPool的属性,切换到Identity,选择Local System。这是偷懒的设置方法,以避免出现应用程序本身对系统的访问权限不够

11.设置匿名访问权限。右击站点,选择权限。点击Add…,在弹出的对话框中输入IUSR_XXX(XXX为机器名)。

点击OK,便可添加一个Internet Guest Account,保持默认的只读权限即可。

12.最后注意,如果是首次安装.NET 4.0,不要忘了注册

在深入理解ASP.NET MVC(2)中,讨论过MVC框架的路由机制,其中提到“可以通过设置RouteCollection的RouteExistingFiles为true,使得路由不匹配静态文件(注意true是不匹配,这个命名和奇怪)。”因此,我们可以这样设置,以使得MVC不对静态文件进行检查,这样又可以提高一点性能。最终请求会像下图那样被serve

本文转自 netcorner 博客园博客,原文链接:  http://www.cnblogs.com/netcorner/archive/2011/05/25/2911955.html ,如需转载请自行联系原作者

ASP.NET MVC在IIS6下部署的小技巧相关推荐

  1. ASP.NET MVC 的 WebGrid 的 6 个重要技巧 【已翻译100%】

    ASP.NET MVC 中 WebGrid 的 6 个重要技巧 https://www.oschina.net/translate/webgrid-in-asp-net-mvc-important-t ...

  2. Windows下的cmd小技巧

    Windows下的cmd小技巧 文章目录 Windows下的cmd小技巧 工具 信息 关机 进程管理 网络 文件 工具 calc //计算器 osk //屏幕键盘 explorer //文件管理器 n ...

  3. 写自己的ASP.NET MVC框架(下)

     开始 MyMVC的特点 介绍示例项目 关于URL路由 配置MyMVC框架 映射处理器(入口) 内部初始化 从URL到Action的映射过程 PageUrl的设计思想 多URL的匹配功能 解决老的 ...

  4. Linux下一些网络小技巧

    文章目录 前言 常见命令 从ping说起 看看带宽 首先是iftop 再来看看iperf 不服抓个包 网络追踪 常见http状态码 前言 记录Linux系统的一些网络小技巧与小工具 非网工 常见命令 ...

  5. win10录屏快捷键是什么?了解下录屏小技巧

    最近有个小伙伴私聊咨询我win10系统的自带录制功能的快捷键是什么?因为想进行录制游戏,在全屏页面下手动录制还需要切换窗口比较麻烦,所以想直接操作快捷键来控制开始录制和结束录制.Emm好像之前有遇到过 ...

  6. VS2017 ASP.NET MVC 5.0 开部署问题汇总

    1[SqlException (0x80131904): 拒绝了对对象 '****' (数据库 '***',架构 'dbo')的 EXECUTE 权限.] "/"应用程序中的服务器 ...

  7. asp.net 2.0 下的一个小技巧

    在.net下,如果你编译过网站再一次上传时,此时用户访问你的网站时就会出现应用程序错误之类的提示,可不可以设一个"网站维护中"的提示呢? 当然可以了! ----- 在asp.net ...

  8. cmd下的一些小技巧

    切换盘符:[盘符]+: tips1: 在盘符A执行一条命令后的同时切换到盘符B:A:\>dir && B:(此处只能用&&或者&) tips2: 在盘符A ...

  9. arcgis 圈选获取图层下点位_ArcGIS小技巧——提取面要素的质心点

    如下图,现在要做这样一件事,提取面图层中每一个图斑的质心点,然后使用质心点提取图层中的一个属性值,并在此基础上进行克里金插值,生成该属性的空间插值图.当然,今天这段文字主要简单说一下怎样提取面图层的质 ...

最新文章

  1. 来人呐,有人又要抢钱啦!
  2. 动态规划解题思路与总结(三万字)
  3. .NET连接SAP系统专题:C#获取RFC中自定义的异常(四)
  4. SAP CRM和Hybris Commerce里关于价格折扣的一些配置
  5. STM32的AFIO时钟什么时候开启?
  6. mariadb备份与恢复工具
  7. pdo mysql ascii_跟bWAPP学WEB安全(PHP代码)--SQL注入的一些技巧
  8. Centos7升级Python2到Python3
  9. spark学习11(Wordcount程序-本地测试)
  10. 一个最基本最简单的爬虫代码【精简】
  11. php如何简单抠图,这三种新手抠图方法你会几种?
  12. 430单片机实现三人投票表决器_基于51单片机的三人表决器设计.doc
  13. android 恢复出厂设置 时间,安卓恢复出厂设置
  14. 英语四六级考试技巧/英语四六级真题
  15. SpringBoot面试题一网打尽
  16. Glide4 设置默认图片和错误图片,即设置占位图
  17. 【python数据挖掘课程】二十八.基于LDA和pyLDAvis的主题挖掘及可视化分析
  18. 有趣的密码学介绍~古典密码之凯撒密码来咯~
  19. 港科夜闻|罗康锦教授获委任为香港科大工学院院长
  20. 读书笔记:《浪潮之巅:下》

热门文章

  1. ES6的Proxy对象
  2. linux自定义开机启动服务和chkconfig使用方法
  3. 11 | 互联网产品的测试策略应该如何设计?
  4. Spring实战(六)自动装配的歧义性
  5. dos命令安装windows服务
  6. C#序列化和反序列化代码总结
  7. [Java] 获取本月周次和日期时间段信息
  8. codeforces C. Inna and Huge Candy Matrix 解题报告
  9. WPF GroupBox样式
  10. fafu oj 1266 数数