前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IIS7上部署Asp.Net4.0时UrlRouting的若干问题

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

作者头像
菩提树下的杨过
发布2018-01-22 15:02:06
1.1K0
发布2018-01-22 15:02:06
举报

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

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

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

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

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

.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中应用程序池的版本号是否为正式版本号

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

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

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

添加一个Wildcard Script Map,如下图

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

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

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010-05-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com