2015-10-09 18 views
0

我的自定義HttpHandler有問題。 1.所以,在我的解決方案我添加了一個項目 - 類庫 - 處理器(所以命名空間是處理器)我的httphandler沒有調用

  • 我補充一個實現IHttpHandler接口在此我MyHandler.css類類庫。

  • 下一頁在

    mysite的項目的web配置我添加此

    <system.web> 
         <httpHandlers> 
          <add verb="*" path="*.ascx" type="Handler.MyHandler, MySite "/> 
         </httpHandlers> 
    
  • 但是當我嘗試看看會發生什麼,如果我嘗試訪問.ascx文件在我的地盤 我得到的錯誤

    HTTP Error 404.7 - Not Found 
    The request filtering module is configured to deny the file extension. 
    

    爲什麼我的HttpHandler不調用 謝謝您不喜歡

    回答

    1

    這是因爲IIS Request Filtering module被配置爲拒絕.ascx文件的請求,並且過濾模塊在IIS管道中的響應時間早於您的處理程序。請詳細閱讀this blog entry

    您可以通過使用IIS管理器工具配置請求篩選在IIS中「適當的」,或者如果你正在使用IIS快速通過編輯applicationhost.config文件,你會發現位於%userprofile%\Documents\IISExpress\config在那裏你會尋找字符串:

    <add fileExtension=".ascx" allowed="false" /> 
    

    如果您不希望更改請求過濾配置,你總是可以考慮重新實行的處理程序作爲一個模塊這意味着從IHttpModule而不是IHttpHandler繼承和做更多的腿部工作你自己。

    +0

    感謝您的幫助! –