4

我有一个 HTTP 处理程序,它是我们应用程序 90% 的入口点。基本上它会收到一个请求,处理大量数据并返回一个非常具体的文件,具体取决于它所嵌入的客户端和网页等。我已经设置了应用程序映射,以便所有.kab扩展名都指向C:\Windows。 ..\aspnet_isapi.dll。我将 HttpHandler DLL 添加到我网站的 BIN 目录中。当我尝试浏览到测试页面时,iFrame 显示 404。 我在设置 HttpHandler 时是否遗漏了什么?

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


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

  • Windows XP Pro 上的 IIS 5.1 – 运行简单的 Jane default.aspx:

<body>
<form id="form1" runat="server">
<iframe style="border-width: 2px; z-index: 100; overflow: hidden; width: 500px; height: 423px;" src="http://localhost/barrows.kab?client=33ee472yaaM24a">
</form>
</body>

  • VS2005 以附加模式运行到 INETINFO.EXE 进程。
4

3 回答 3

2

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

这里

例如

<httpHandlers>
 <add verb="*" path="*.cab"
   type="My.Assembly,My.Assembly.Handler, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=whatever" 
   validate="false"/>
....
于 2009-07-01T17:17:36.417 回答
1

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

于 2009-07-01T17:17:37.727 回答
0

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

于 2014-01-26T17:51:29.360 回答