开发者社区> 杨俊明> 正文

IIS7上部署Asp.Net4.0时UrlRouting的若干问题

简介: 今天把公司的一个小web项目从Asp.Net3.5升级到Asp.Net4.0,结果在UrlRouting上遇到一系列很纠结的问题.(注:Url路由是Asp.Net4.0新增的一项功能,初次接触的朋友请移步这里Asp.
+关注继续查看

今天把公司的一个小web项目从Asp.Net3.5升级到Asp.Net4.0,结果在UrlRouting上遇到一系列很纠结的问题.(注:Url路由是Asp.Net4.0新增的一项功能,初次接触的朋友请移步这里Asp.Net4.0/VS2010新变化(3):webform中也可以直接url路由

 

vs2010开发环境中一切运行正常,结果部署到IIS7上以后,首先遇到下面这个问题:

img_9efaf5153acb4a85b953cf4adfa1245f.jpg

我确定服务器上的asp.net4.0 已经启用了(如下图),对应的网站应用程序池也切换到了4.0,但还是这样!

img_43360e68f7ae18768d2b7cc286950b41.jpg

到msdn论坛上发现也有人遇到类似问题,解决办法:

先检测机器上是否安装了4.0正式版以前的beta或rc版,如下图

img_63ceb8e43086f577d9ee8e7a2827bf54.jpg

.net framework4 的正式版本号为4.0.30319,如果以前安装过旧版本的4.0框架(如上图中的v4.0.30128),请先在命令行下输入 :

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

重新将.net4正式版注册到IIS中

注:如果服务器为64位系统,.net会同步安装64位的 framework,如果是32位的系统则没有Framework64这个目录,这个运行完以后,检查IIS中应用程序池的版本号是否为正式版本号

img_73766b422d17634419c3571dea94ac78.jpg

 

这样处理完了以后,网站已经能跑起来了,但是又遇到了第二个问题:

img_9506314224a12e8a9ba7681efcbcc2fa.jpg

如上图,因为公司的项目应用了一些以前的第三方组件,应用程序池无法以Integrated集成模式运行(不兼容),所以只能选Classic经典模式,实践后发现经典模式下url路由功能无法使用:

img_feb2237d00cece835772ad66d458ab70.jpg 

又百度一圈后,找到了解决办法:在网站的功能(Feature)视图下,找到Handler Mappings(Handler映射)并双击

img_e8ac55b34c9bb0a68b67d91a6d55db09.jpg

添加一个Wildcard Script Map,如下图

img_f0f7b1cc22ee6653c2ed1f46a42640c1.jpg

即:将所有后缀文件的请求,全部交由Framework64\v4.0.30319\aspnet_isapi.dll来处理

 

ok,asp.net4.0的路由功能总算在经典模式下运行正常了(注:如果是集成模式,是没有该问题的)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ASP.NET是如何在IIS下工作的
ASP.NET与IIS是紧密联系的,由于IIS6.0与IIS7.0的工作方式的不同,导致ASP.NET的工作原理也发生了相应的变化。   IIS6(IIS7的经典模式)与IIS7的集成模式的不同 IIS6的运行过程: 分析上图可知:     在 User Mode 下,http.
849 0
ASP.NET是如何在IIS下工作的
原文:ASP.NET是如何在IIS下工作的 ASP.NET与IIS是紧密联系的,由于IIS6.0与IIS7.0的工作方式的不同,导致ASP.NET的工作原理也发生了相应的变化。   IIS6(IIS7的经典模式)与IIS7的集成模式的不同 IIS6的运行过程: 分析上图可知:     在 User Mode 下,http.sys 接收到 http request,然后它会根据 IIS 中的 Metabase 查看基于该 Request 的 Application 属于哪个 Application Pool, 如果该 Application Pool 不存在,则创建之。
1160 0
ASP.NET Core : 一. 概述
ASP.NET Core : 一. 概述
95 0
ASP.NET MVC (五、HttpClient接口解析)(6)
ASP.NET MVC (五、HttpClient接口解析)(6)
135 0
ASP.NET MVC (五、HttpClient接口解析)(5)
ASP.NET MVC (五、HttpClient接口解析)(5)
94 0
ASP.NET MVC (五、HttpClient接口解析)(4)
ASP.NET MVC (五、HttpClient接口解析)(4)
41 0
ASP.NET MVC (五、HttpClient接口解析)(3)
ASP.NET MVC (五、HttpClient接口解析)(3)
89 0
ASP.NET MVC (五、HttpClient接口解析)(2)
ASP.NET MVC (五、HttpClient接口解析)(2)
87 0
ASP.NET MVC (五、HttpClient接口解析)(1)
ASP.NET MVC (五、HttpClient接口解析)(1)
63 0
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(7)
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(7)
79 0
+关注
杨俊明
菩提树下的杨过 http://yjmyzz.cnblogs.com/
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载