Monday, September 15, 2008 - 文章

HttpModules/HttpHandlers in IIS7

剛才發現,把網站專案移到Vista/IIS7執行時,原本web.config設定的httpHandlers失效:
<httpHandlers>
    ....
    <add verb="GET" path="DownloadFile.axd" type="Afa.Ajax.WebControl.DownloadHandler" />
</httpHandlers>

連線/DownloadFile.axd時,會傳回HTTP 404找不到檔案的錯誤。

透過IIS7的Internet Information Services (IIS) Manager / Handler Mappings設定UI,重新指定這個HttpHandler,功能就恢復了。但修好的原因是web.config被IIS Manager改過,再一比對,發現IIS Manager在web.config中加入了這一段:
<system.webServer>
  <handlers>
    ....

    <add name="DownloadFile" path="DownloadFile.axd" verb="*" type="Afa.Ajax.WebControl.DownloadHandler" resourceType="Unspecified" preCondition="integratedMode" />
  </handlers>
</system.webServer>

如果要兼顧IIS6及IIS7,可在web.config中同時保留httpHandlers(for IIS6)及handlers(for IIS7)裡的相同定義,但記得要加上<validation validateIntegratedModeConfiguration="false" />,不然IIS7會因為定義重覆出現而發生錯誤。參考資料

搜尋

Go

<September 2008>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication