ASP.NET MVC在IIS6下部署的小技巧
通常在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下部署的小技巧相关推荐
- ASP.NET MVC 的 WebGrid 的 6 个重要技巧 【已翻译100%】
ASP.NET MVC 中 WebGrid 的 6 个重要技巧 https://www.oschina.net/translate/webgrid-in-asp-net-mvc-important-t ...
- Windows下的cmd小技巧
Windows下的cmd小技巧 文章目录 Windows下的cmd小技巧 工具 信息 关机 进程管理 网络 文件 工具 calc //计算器 osk //屏幕键盘 explorer //文件管理器 n ...
- 写自己的ASP.NET MVC框架(下)
开始 MyMVC的特点 介绍示例项目 关于URL路由 配置MyMVC框架 映射处理器(入口) 内部初始化 从URL到Action的映射过程 PageUrl的设计思想 多URL的匹配功能 解决老的 ...
- Linux下一些网络小技巧
文章目录 前言 常见命令 从ping说起 看看带宽 首先是iftop 再来看看iperf 不服抓个包 网络追踪 常见http状态码 前言 记录Linux系统的一些网络小技巧与小工具 非网工 常见命令 ...
- win10录屏快捷键是什么?了解下录屏小技巧
最近有个小伙伴私聊咨询我win10系统的自带录制功能的快捷键是什么?因为想进行录制游戏,在全屏页面下手动录制还需要切换窗口比较麻烦,所以想直接操作快捷键来控制开始录制和结束录制.Emm好像之前有遇到过 ...
- VS2017 ASP.NET MVC 5.0 开部署问题汇总
1[SqlException (0x80131904): 拒绝了对对象 '****' (数据库 '***',架构 'dbo')的 EXECUTE 权限.] "/"应用程序中的服务器 ...
- asp.net 2.0 下的一个小技巧
在.net下,如果你编译过网站再一次上传时,此时用户访问你的网站时就会出现应用程序错误之类的提示,可不可以设一个"网站维护中"的提示呢? 当然可以了! ----- 在asp.net ...
- cmd下的一些小技巧
切换盘符:[盘符]+: tips1: 在盘符A执行一条命令后的同时切换到盘符B:A:\>dir && B:(此处只能用&&或者&) tips2: 在盘符A ...
- arcgis 圈选获取图层下点位_ArcGIS小技巧——提取面要素的质心点
如下图,现在要做这样一件事,提取面图层中每一个图斑的质心点,然后使用质心点提取图层中的一个属性值,并在此基础上进行克里金插值,生成该属性的空间插值图.当然,今天这段文字主要简单说一下怎样提取面图层的质 ...
最新文章
- 来人呐,有人又要抢钱啦!
- 动态规划解题思路与总结(三万字)
- .NET连接SAP系统专题:C#获取RFC中自定义的异常(四)
- SAP CRM和Hybris Commerce里关于价格折扣的一些配置
- STM32的AFIO时钟什么时候开启?
- mariadb备份与恢复工具
- pdo mysql ascii_跟bWAPP学WEB安全(PHP代码)--SQL注入的一些技巧
- Centos7升级Python2到Python3
- spark学习11(Wordcount程序-本地测试)
- 一个最基本最简单的爬虫代码【精简】
- php如何简单抠图,这三种新手抠图方法你会几种?
- 430单片机实现三人投票表决器_基于51单片机的三人表决器设计.doc
- android 恢复出厂设置 时间,安卓恢复出厂设置
- 英语四六级考试技巧/英语四六级真题
- SpringBoot面试题一网打尽
- Glide4 设置默认图片和错误图片,即设置占位图
- 【python数据挖掘课程】二十八.基于LDA和pyLDAvis的主题挖掘及可视化分析
- 有趣的密码学介绍~古典密码之凯撒密码来咯~
- 港科夜闻|罗康锦教授获委任为香港科大工学院院长
- 读书笔记:《浪潮之巅:下》