【转载】mvc3部署

http://www.tuicool.com/articles/QZvUFr3

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即可

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

 

IIS6.0部署MVC3--解决(您无权查看该网页403错误)(Server Application Unavailable)问题

 

部署步骤:

环境:Win2003、IIS6.0、已安装.NET Framework 2.0、Web服务器

1、需要安装.NET Framework 4.0

(http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0A391ABD-25C1-4FC0-919F-B21F31AB88B7)

2、安装ASP.NET MVC3(此步可尝试跳过)

(http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d2928bc1-f48c-4e95-a064-2a455a22c8f6)

3、将MVC 3 需要用的DLL复制到bin文件夹下(参见:在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件

4、若是首次安装.NET Framework 4.0需要进行注册(运行——cmd——输入C:\Windows\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis.exe -i)

 

出现错误解决:

1、出现您无权查看该网页403错误;

依次:属性——主目录——配置——“通配符应用程序映射(执行顺序)”的插入

“可执行文件”输入:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

去掉“确认文件是否存在”的勾,一直确定再尝试访问(可能出现下面第二点错误)

 

2、若出现Server Application Unavailable可尝试以下方法:

将“应用程序池”配置为专有的应用程序池,操作如下:

依次“应用程序池”——右键——“新建”——“应用程序池”

 

经过以上处理,我的MVC3网站已经可以访问。若出现其他问题,请提出,一起总结。

posted @ 2015-10-30 17:26  事理  阅读(173)  评论(0编辑  收藏  举报