asp.net – 为什么不调用我的IHttpHandler?
|
我试图获得一个自定义处理程序在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>
(很明显,在这一节也有其他的东西,但我不认为它的相关性。) 在本地,运行在dev服务器下,它工作正常。在我真正的盒子,我总是得到一个404.网站目录下的所有内容是相同的(通过svn复制)。这包括bin目录包含CSharpInDepth.dll,我已经验证包含CSharpInDepth.Wave.RobotHandler。 我试图获取http://csharpindepth.com/foo.robot,只得到一个404。 我试过有和没有程序集名称,特定的URL或通配符…没有什么工作。 我相信我刚刚错过了一些简单的标志在某处的IIS配置,但我被吹了,如果我可以找到它… 编辑:这是IIS版本6.尝试将* .robot添加到ISAPI过滤器现在… 解决方法如果托管盒是IIS7在集成管道中,您需要将其添加到配置的其他位:<system.webmodules>
....
<modules>
<add name="RobotHandler" type="CSharpInDepth.Wave.RobotHandler,CSharpInDepth"/>
</modules>
....
</system.webmodules>
如果是IIS6,那么你需要将* .robots映射到ASP.NET ISAPI DLL。 (对于非Skeets你这样做如下) >打开IIS管理员。>右键单击您要配置的网站并从中选择属性上下文菜单。这将显示网站属性“对话框。>选择主目录“选项卡,然后单击配置按钮。这会显示应用程序配置对话框。>单击加。>选择aspnet_isapi.dll从.NET框架目录,您要映射的扩展名所有动词,或只是那些你想映射。>单击确定。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Ninject.MVC3,Nuget,WebActivator哦我的
- asp.net – 我们可以在网页中使用多种形式吗?
- asp.net-mvc-3 – ASP.NET MVC DropDownListFor从模型中选择
- asp.net – 仅在本地主机上使用Fiddler
- asp.net-mvc – 加载测试SignalR集线器应用程序的最佳方法是
- asp.net-mvc – 您可以使用IOC容器将依赖项注入自定义WebVi
- asp.net-mvc-3 – 了解网站是否在MVC中编写的技巧?
- 身份验证 – 如何使用ASP.NET身份在Web API 2中实现双因素身
- asp.net-mvc-5 – 在禁用的TextBoxFor中只读是什么?
- asp.net – “’Microsoft.Jet.OLEDB.4.0’提供程序未在本地
