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

今天把公司的一个小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的路由功能总算在经典模式下运行正常了(注:如果是集成模式,是没有该问题的)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏偏前端工程师的驿站

.Net魔法堂:开启IIS的WebGarden、WebFarm和StateServer之旅

前言                                 公司系统虽然配置有1台NLB后拖4台App Server最后搭一台强劲无比的DB Serv...

2847
来自专栏惨绿少年

MongoDB 分片集群技术

---- 在了解分片集群之前,务必要先了解复制集技术! ----  1.1 MongoDB复制集简介   一组Mongodb复制集,就是一组mongod进程,...

4909
来自专栏FreeBuf

如何检测并移除WMI持久化后门?

Windows Management Instrumentation(WMI)事件订阅,是一种常被攻击者利用来在端点上建立持久性的技术。因此,我决定花一些时间研...

1223
来自专栏Laoqi's Linux运维专列

Zabbix的架构配置选项(二)

3018
来自专栏晓晨的专栏

IdentityServer(11)- 使用Hybrid Flow并添加API访问控制

984
来自专栏云加头条

云+社区开发者大会TechWork技术工作坊学员准备——智能钛机器学习平台应用实践

3. 需要提前申请开通TI-ONE平台(申请中备注“参加开发者大会工作坊”),并开通COS服务

4947
来自专栏gaoqin31

PHP使用守护进程处理队列

  项目是棋牌,web架构是典型的lnmp,server产生的牌局通过http协议请求webserver,由php分析并持久化到mysql,中间参杂了很多业务逻...

1787
来自专栏沃趣科技

PostgreSQL中删除的数据能否恢复

问题的提出 有人问PostgreSQL数据库中刚刚删除的数据能否被恢复? 或更进一步,如果如要在一个事务中做了一系列的更新、删除、插入的操作后,把这个事务提交之...

5347
来自专栏安恒信息

0day 预警 | Microsoft恶意软件防护引擎存在远程执行代码漏洞(CVE-2017-0290)

5月6日,谷歌的安全团队Project Zero在社交媒体上公布了Windows恶意软件防护引擎中的重大远程命令执行漏洞;8日,微软官方公布了此漏洞;9日,Pr...

3154
来自专栏图像识别与深度学习

Android Studio下打jar包及使用jar包

4925

扫码关注云+社区

领取腾讯云代金券