环境:MVC3.0,IIS7

Mvc3.0的部署除像正常部署aspx程序一样外,另外还需要注意的几点:

1. 安装MVC3.0

    确保服务器上安装了MVC3.0,默认版本是“3.0.20105.0”

2. MVC版本一致性问题(重要)

此类问题会引起一堆譬如CS1705,CS0433类的问题,我就是碰到了这种问题,所以就这个问题详细说明一下:

此问题需要查看你本机开发时用的mvc类库版本与服务器上所安装的mvc类库版本是否一致,即使大版本号都是3.0,而小版本号不一致也会导致此类问题

MVC的版本号可通过控制面版上“Microsoft ASP.NET MVC 3”一行后面的版本来确定,我本机上的版本是“3.0.50813.0”,而服务器上的版本却是“3.0.20105.0”,因此就出现了版本不一致的问题

默认安装MVC3后的版本是“3.0.20105.0”,而版本“3.0.50813.0”是Microsoft针对MVC安全性发布的一个更新补丁包,如果你是刚装的mvc,一般情况下“3.0.20105.0”,过段时间通过windows的自动更新可能就会变成“3.0.50813.0”,所以这个版本问题不容易被发现

针对MVC的安全补丁说明:MS14-059 (KB2990942)

补丁地址: http://www.microsoft.com/zh-CN/download/details.aspx?id=44533

此补丁是一个集合补丁,里面包含了对 MVC 2.0、MVC 3.0、MVC 4.0、MVC 5.0 和 MVC 5.1的补丁

如果只需针对MVC3.0打补丁,则只需通过选择更新相应的补丁包即可,针对MVC3.0补丁包的名称其实为:KB2993937

由此即可解决版本问题

其它网上总结的也需要注意的,我没有碰到或者是有些配置本已集成了的:

1. 设置System.Web.Mvc.dll复制到本地(重要)

在VS的引用中右键System.Web.Mvc.dll,选择“属性”->“复制到本地”选择true,重新编译并发布

其实就是要带着本机的System.Web.Mvc.dll发布

我没有这么做,网站仍然可以访问,不过这条应该很重要,建议发布mvc时选择这项

2. 设置“ISAPI和CGI限制”

左键点击IIS根结节,在右侧的功能区选择“ISAPI和CGI限制”,点开,将ASP.NET v4.0.30319设置为允许,如果是64位系统应该有两条记录,一条是64位的,一条是32位的,反正我的都是不允许也照样可以

3. 检查“处理程序映射”

检查“处理程序映射”,看里面是不是有以下这三项:

ExtensionlessUrlHandler-Integrated-4.0

ExtensionlessUrlHandler-ISAPI-4.0_32bit

ExtensionlessUrlHandler-ISAPI-4.0_64bit

如果缺少请在命令行中运行:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

我的默认是有这三项的

4. 设置“处理程序映射”

左键点击网站,在右侧功能区选择“处理程序映射”,点开,在右侧点“添加通配符脚本映射”,添加如下内容:

请求路径:*

可执行文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

名称:可自己决定,一般填mvc3即可

我的这项也没有设置,网站仍然可以使用

MVC IIS环境部署注意事项的更多相关文章

  1. Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App

    Windows + IIS 环境部署Asp.Net Core App   环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署A ...

  2. Windows + IIS 环境部署Asp.Net Core App

    环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运 ...

  3. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法IIS上部署MVC网站,打开后500错误

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  4. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  5. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  6. ASP.NET MVC 使用MSBuild部署的几个注意事项

    ASP.NET MVC 使用MSBuild部署的几个注意事项 做新项目,当时参考NopCommerce的结构,后台Nop.Admin是一个独立的Area Web Site,但部署的时候发现,使用一键发 ...

  7. 有了SSL证书,如何在IIS环境下部署https?【转载】

    昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...

  8. IIS环境下部署项目

    1.环境部署 1.1安装IIS7 进入控制面板,选择"程序和功能",进入如下页面后,点击"Turn Windows features on or off". 找 ...

  9. IIS环境配置和项目部署

    本人实际工作项目中IIS部署,亲测可用~~ 具体步骤: 1.打开控制面板 2.打开程序和功能 3.打开或关闭Windous功能 然后勾选相关内容: 4.添加应用程序 先打开iis管理器页面(控制面板— ...

随机推荐

  1. springmvc集成shiro例子

    仅供参考 仅供参考 登录部分 代码: @RequestMapping(value = "/login", method = RequestMethod.GET) @Response ...

  2. 【译】Spring 4 基于TaskScheduler实现定时任务(注解)

    前言 译文链接:http://websystique.com/spring/spring-job-scheduling-with-scheduled-enablescheduling-annotati ...

  3. ORACLE推导参数Derived Parameter介绍

    Oracle的推导参数(Derived Parameters)其实是初始化参数的一种.推导参数值通常来自于其它参数的运算,依赖其它参数计算得出.官方文档关于推导参数(Derived Parameter ...

  4. 关于B树的一些总结

    B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子. 除根结点和叶子结点外,其它每个结点至少有m/2个孩子. 根结点至少有2个孩子(如果B树只有一个结点除外). 所有叶结点在同一层, ...

  5. Couchbase 环境搭建与使用(C#)

    Couchbase Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcache ...

  6. 解决Native atomics support not found问题

    今天用arm-none-linux-gnueabi交叉编译libmysqclient.so,出现Native atomics support not found问题 进入mysql-connector ...

  7. WPF 自定义DateControl DateTime控件

    自定义日期控件,月份选择.如下是日期的一些效果图. 具体的样式.颜色可以根据下面的代码,自己调节即可    1.日期控件的界面 <UserControl x:Class="WpfApp ...

  8. User mode Linux

    一.简介 用户模式Linux(User ModeLinux,UML)不同于其他Linux虚拟化项目,UML尽量将它自己作为一个普通的程序.从Linux2.6.9版本起,用户模式Linux(User m ...

  9. POJ 1753. Flip Game 枚举or爆搜+位压缩,或者高斯消元法

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37427   Accepted: 16288 Descr ...

  10. UNITY实现FLASH中的setTimeout

    setTimeout是一个很方便的DELAY处理方法 if (this.startUpDelay > 0){            StartCoroutine(DelayedStart()); ...