2012-10-22 94 views
1

高我試圖在本地機器上獲得在iis 7.5中工作的http處理程序。在visual studio iis模式下,我的處理程序與web配置集一起工作。http處理程序asp.net

<httpHandlers> 
    <add verb="GET" path="ShowImages.ashx" type="achangeoftack_new_web.ShowImages" /> 
</httpHandlers> 

但在部署時,所以我已經將它設置爲

<system.webServer> 
<modules runAllManagedModulesForAllRequests="true" /> 
<handlers> 
    <add name="ShowImages.ashx" verb="GET" path="~/ShowImages.ashx" type="achangeoftack_new_web.ShowImages" /> 
</handlers> 
<validation validateIntegratedModeConfiguration="true" /> 

但我仍然得到與處理工作沒有運氣它拋出的錯誤。我想我現在已經嘗試了一切,現在我開始把我的頭髮拉出來。

+5

你會得到什麼錯誤? – Oded

回答

0

如果您使用的是ASHX,則無需在web.config中進行註冊,只需使用它就像頁面URL一樣。

<img src="ShowImages.ashx?id=SomeImageId" /> 

它只是工作。所以我會嘗試從web.config中取出這些元素,看看是否能解決你的錯誤。

爲什麼這個工程
當您的機器上運行aspnet_regiis,ASHX是其註冊到IIS爲你的擴展之一。 enter image description here

在運行時,當IIS收到一個ASHX文件的請求時,它將它傳遞給ASP.NET和ASP.NET,然後以與頁面或用戶控件相同的方式解析它,並且代碼運行。

如果您在獨立類中編寫了處理程序,則只需在web.config中註冊處理程序。