2012-07-01 55 views
1

我有我在Visual Web開發人員快車中打開的網站。Http處理程序沒有在asp.net中調用?

在web.config中,我有一個處理程序中定義B.

<add verb="GET,POST" path="*/faq*" validate="false" type="DefaultRedirectHandler" /> 

如何指定位置DefaultRedirectHandler這是在這樣的環境中一個dll? 我創建了一個handler.dll,其中包含從bin目錄中的IHttpHandler派生的類B,但有跡象表明它不被使用。

而且,我試圖

<system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers> 
      <add name="ASP Wild" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> 
      <add name="SampleHandler" verb="*" 
     path="*" 
     type="DefaultRedirectHandler,handler.dll" 
     resourceType="Unspecified" /> 

     </handlers> 

有一些日誌,我可以看到,如果這個處理程序是其他地方調用。

回答

1

添加處理程序時,應完全限定其類型。包括命名空間和您的類型名稱。

<httpHandlers> 
    <add verb="*" path="*" 
    type="MyHandlerAssembly.With.A.NameSpace.IISHandler1, MyHandlerAssembly" /> 
</httpHandlers> 

How to: Register HTTP Handlers

組裝您的處理程序是必須在您的web應用程序的bin目錄或系統程序集緩存要麼存在。

有關HttpHandler配置的更多詳細信息,請參閱以下內容。

add Element for httpHandlers (ASP.NET Settings Schema)

請記住,有默認情況下(在.NET庫目錄),並將所定義的系統的machine.config和根web.config許多ASP.NET處理程序。如果這些處理程序中的任何一個符合您的路徑,則可以先執行它們。如果他們關閉響應,那麼你的處理程序可能永遠不會被執行

編輯:

至於調試是怎麼回事,你的服務器上(即哪些處理程序中獲取調用什麼順序),你可能有興趣在檢查出Glimpse

相關問題