将你的程序移植到IIS7时要注意的地方

IIS7的Application Pools有两种mode,一种是Integrated,一种是classic。如果使用Integrated模式,那么对自定义的httpModules和httpHandlers就要修改配置文件了,需要将他们转移到<modules>和<hanlders>节里去。

IIS7的两种模式和IIS6有什么区别?长话短说:

IIS7.0 Integrated mode:asp.net的modules和handlers从<system.webServer>下的<modules>和<handlers>里读取,以前的<system.web>下的<httpModules>和<httpHandlers>配置节会被忽略,如果设置禁止验证(disabled validation),是不会产生错误的。

IIS7.0 Classic mode:与以上情况是相反的,<modules>和<handlers>会被忽略。

IIS6.0 :这个大家都不陌生了。

如果做一个可以在IIS6和IIS7的两种mode下都可以运行的配置?validateIntegratedModeConfiguration=“false”是做什么用的?有需要的朋友可以在这里查看详情。

其次,从iis6迁移到iis7上后,有些url rewrite功能可能就不好用了,下面这篇文章讲述了一个hack方法,有效的控制了staticFile handler的职责,实现了像iis6那样的工作方式。

posted @ 2008-04-16 11:04 new 维生素C.net() 阅读(2164) 评论(15) 编辑 收藏

 回复 引用   
#1楼 2008-04-16 11:47 海风0101[未注册用户]
正文有错,两个都写成 IIS7.0 Integrated mode 了。
 回复 引用 查看   
#2楼 2008-04-16 12:06 李战      
路错,学习,支持!


 回复 引用 查看   
#3楼 2008-04-16 12:39 Clark Zheng      
谢谢提醒,不过微软的ajax模型早就开始使用system.webServer节点了
 回复 引用 查看   
#4楼 2008-04-16 12:51 一抹微蓝      
有人用win srv 2008跑服务了?
如何激活呢?

 回复 引用 查看   
#5楼[楼主] 2008-04-16 13:08 new 维生素C.net()      
@海风0101
非常抱歉,发的有点急. 谢谢您指出错误.

 回复 引用 查看   
#6楼[楼主] 2008-04-16 13:09 new 维生素C.net()      
@Clark Zheng
那个算self-explain的,在msdn的blogs上看到过这个问题的解释

 回复 引用 查看   
#7楼[楼主] 2008-04-16 13:09 new 维生素C.net()      
@一抹微蓝
你指的激活是?

 回复 引用 查看   
#8楼[楼主] 2008-04-16 13:13 new 维生素C.net()      
@李战
谢谢

 回复 引用 查看   
#9楼 2008-04-16 13:24 生鱼片      
支持,学习了
 回复 引用   
#10楼 2008-04-16 14:55 舒[未注册用户]
晕!~~,你说的网上早就有人译过了,而且很详细呢.

 回复 引用 查看   
#11楼[楼主] 2008-04-16 14:58 new 维生素C.net()      
@舒
哦.sorry,我不知道这个.而且身边有几位朋友也遇到了这个问题,就发上来了.

简直太有默契了,今天刚刚给同事解决了这个问题……简直就是……太默契了,哈哈
 回复 引用 查看   
#13楼[楼主] 2008-04-16 23:03 new 维生素C.net()      
@volnet(可以叫我大V)
哈哈 握个手:)

 回复 引用 查看   
#14楼 2008-04-22 10:46 左左右右      
很好
 回复 引用 查看   
#15楼 2008-05-31 12:01 Dove.Net      
收到,正好遇到这问题