2009-07-01 30 views
4

我有一个HTTP处理程序,是我们的应用程序的90%的入口点。基本上,它得到的请求,处理大量的数据,并返回根据客户&网页被嵌入上一个非常具体的文件,等等。我已经设置了应用程序映射,让所有.kab扩展指向C:\ Windows ... \ aspnet_isapi.dll。我将我的HttpHandler DLL添加到我的网站的BIN目录中。当我尝试浏览到测试页面时,iFrame显示404。我在设置HttpHandler时错过了什么?C#,调试HTTPHandler

至于调试我的代码,我试过附加,但我一直在页面上收到404错误,它永远不会进入我的代码。 在调试模式下绑定到项目中的最佳实践方法是什么?


测试基本设置(所有本地一台计算机上):

  • 在IIS 5.1的Windows XP专业版 - 运行素雅的Default.aspx:

< body>
< form id =“form1”runat =“server”>
< iframe style =“border-width:2px; z-index: 100;溢出:隐藏;宽度:500px; 高度:423px;” SRC = “HTTP://localhost/barrows.kab客户= 33ee472yaaM24a”>
< /FORM>
</BODY>

  • VS2005附着模式到运行 inetinfo.exe进程。

回答

2

您还需要.cab扩展在web.config文件映射到你的处理程序类。

here

例如

<httpHandlers> 
<add verb="*" path="*.cab" 
    type="My.Assembly,My.Assembly.Handler, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=whatever" 
    validate="false"/> 
.... 
+0

啊 - 正确。增加了httpHandlers部分,现在我没有收到404错误。但是,我无法步入代码进行调试。我将编译后的DLL复制到网站BIN目录,并在VS2005附加到inetinfo.exe过程中,在我的ProcessRequest(HttpContext上下文)方法中设置一个断点,并且它不会中断。建议? – 2009-07-01 17:27:52

1

返回到应用程序映射并确保“验证文件存在”复选框未被选中。这将使任何与.kab由.NET处理。

0

只是一个评论标记为正确的答案;类型必须以其他方式指定,即首先处理程序,然后是程序集名称(例如:type =“My.Assembly.Handler,My.Assembly,...”)