我正在尝试让自定义处理程序适用于 ASP.NET 3.5 中的特定 URL(或 URL 集)。
处理程序实际上并没有做任何重要的事情——它只是记录请求。如果有人认为它是相关的,我可以发布代码,但我真的不认为它被调用了。(特别是,对于正常异常,我会得到一个自定义错误页面和日志记录......这里我只是得到香草 IIS 404。)
这是文件的相关位web.config
:
<system.web>
<httpHandlers>
<add verb="GET,POST" path="*.robot" validate="false"
type="CSharpInDepth.Wave.RobotHandler, CSharpInDepth"/>
</httpHandlers>
</system.web>
(显然该部分中还有其他内容,但我认为这无关紧要。)
在本地,在开发服务器下运行,它工作正常。在我的真实盒子上,我总是得到一个 404。网站目录本身下的所有内容都是相同的(通过 svn 复制)。这包括包含 的bin
目录CSharpInDepth.dll
,我已验证该目录包含CSharpInDepth.Wave.RobotHandler
。
我尝试获取http://csharpindepth.com/foo.robot并获得 404。
我已经尝试过使用和不使用程序集名称、特定 URL 或通配符......没有任何效果。
我确定我只是在 IIS 配置中的某个地方错过了一些简单的标志,但如果我能找到它,我会感到震惊......
编辑:这是 IIS 版本 6。现在正在尝试将 *.robot 添加到 ISAPI 过滤器中......