我有在Visual Web开发人员快递中打开的网站。
在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>
如果在其他地方调用此处理程序,我是否可以查看一些日志。
答案 0 :(得分: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)
请记住,默认情况下会添加许多ASP.NET处理程序,并由系统machine.config和root web.config(在.NET库目录中)定义。如果这些处理程序中的任何一个与您的路径匹配,则可以先执行。如果他们关闭响应,那么你的处理程序可能永远不会被执行。
编辑:
至于调试服务器上发生了什么(即调用的处理程序是什么),您可能有兴趣查看Glimpse。