MVC3.0部署问题小结
环境: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即可
我的这项也没有设置,网站仍然可以使用
MVC3.0部署问题小结的更多相关文章
- Asp.Net MVC3.0项目部署到Win7 64过程总结
前言 之前一直是通过Visual Studio直接F5来运行自己编写的项目或者小程序,很少通过部署发布到IIS上面,于是自己便在自己的笔记本上进行测试,结果还真是发现了不少问题,于是自己重新通过虚机程 ...
- Log4Net异常日志记录在asp.net mvc3.0的应用
前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...
- Solr 4.0 部署实例教程
Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...
- ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 系统补丁更新导致MVC3.0.0升级到3.0.1的问题解决
在更新了系统补丁之后,会不知觉的将MVC3.0.0升级到MVC3.0.1的问题,解决的思路如下: 1.全部MVC引用使用NuGet进行包的管理. 2.单独把MVC库抽离出来,然后放在单独的项目文件夹, ...
- MVC3.0学习笔记之元模型元数据ModelMetaData以及模型元数据提供系统
模型元数据ModelMetaData是MVC中很重要的概念,它包括但不仅限于 模型的类型,模型包含了哪些属性,属性都是什么类型的,属性上都有什么特性. ASP.NET MVC3.0 提供了默认的模型元 ...
- Hadoop 2.2.0部署安装(笔记,单机安装)
SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...
- Log4Net异常日志记录在asp.net mvc3.0的应用(转载)
这篇博客写的很好:http://www.cnblogs.com/qianlifeng/archive/2011/04/22/2024856.html 前言 log4net是.Net下一个非常优秀的开源 ...
- hadoop2.2.0部署
hadoop2.2.0部署 下载安装包 hadoop-2.2.0-cdh5.0.0-beta-1.tar.gz 解压 tar zxvf hadoop-2.2.0-cdh5.0.0-beta-1.tar ...
随机推荐
- hdu 4628 Pieces 状压dp
题目链接 枚举所有状态, 1表示这个字符还在原来的串中, 0表示已经取出来了. 代码中j = (j+1)|i的用处是枚举所有包含i状态的状态. #include <iostream> #i ...
- 【LeetCode题意分析&解答】34. Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- JS表格排序
var employees = [] employees[0] = { name: "George", age: 32, retiredate: "March 12, 2 ...
- 阿里云ECS每天一件事D6:安装nginx-1.6.2
自从接触nginx就开始喜欢上这个小东西了,似乎没什么特别的原因,就是喜欢而已. 1.安装环境的准备 yum install pcre pcre-devel openssl openssl-devel ...
- clistctrl 虚拟列表
一.什么是虚拟列表控件 虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件.. 二.为什么使用虚拟列表控件 我们知道,通常使用列表控件CListCtrl,需要调用InsertItem把要显示 ...
- delphi调用外部程序打开文件
delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...
- Java的接口及实例
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- 在MySQL中创建实现自增的序列(Sequence)的教程
这篇文章主要介绍了在MySQL中创建实现自增的序列(Sequence)的教程,分别列举了两个实例并简单讨论了一些限制因素,需要的朋友可以参考下 项目应用中,曾有以下一个场景: 接口中要求发送一个int ...
- 下载文件 ,调用系统的方法(UIDocumentInteractionController) 查看
- ArrayList-VS-LinkedList
ArrayList 是List接口的实现类:底层的数据结构是数组,而LinkedList底层数据结构是双向循环链表. 所以在查询时ArrayList效率高,增删时LinkedList高.由于List中 ...