问题标签 [ihttphandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
259 浏览

asp.net - 实现 Paul Johnson 的 Web Widget 代码时出现问题,它在 VS 2008 中有效,但在部署到 IIS 6.0 时无效

使用Paul Johnson 的 Web Widgets页面中的说明,我创建了自己的自定义小部件。但是,因为我正在部署到 IIS 6.0,所以我使用了推荐的 web.config 更改来呈现页面,因为 IIS 7.0 配置管理选项在 IIS 6.0 中不可用。

使用 VS 2008 调试时,小部件会正确呈现。但是,一旦将文件和更新的 web.config 部署到运行 IIS 6.0 的 Windows 2003 Server 并且引用的地址呈现的错误是“找不到页面”。

开发机器是 Windows Vista 机器,但是由于 VS 2008 使用自己的内部 Web 服务器而不是 Vista 的 IIS 7.0 进行调试,我不相信这会成为问题。

任何调试此问题的帮助将不胜感激。

0 投票
1 回答
1182 浏览

asp.net - ASP.net IHttpHandler 执行 .aspx 文件

使 IHttpHandler 让现有的 .aspx 页面处理请求的正确方法是什么?我希望能够将 .aspx 文件编译成 IHttpHandler,然后让它处理请求。有 PageParser.GetCompiledPageInstance 方法,但是在文档中它声明它不能直接从代码中使用。我知道我可以将 apsx 文件自动定向到或执行 RewritePath,但是我希望对象引用到处理程序。

0 投票
3 回答
2282 浏览

c# - 未从 HttpHandler 写入日志文件

我想捕获所有发送到*.jpg我服务器上文件的请求。为此,我创建了一个 HttpHandler,其代码如下:

在编译它并将其添加到我的 Web 应用程序的Bin目录中作为参考后,我在我的web.config文件中添加了以下内容:

然后我还修改了 IIS 设置Home Directory -> Application Configuration并添加aspnet_isapi.dll.jpg扩展。

在处理程序中,我尝试在 C 驱动器中创建的日志文件中写入一些内容,但它没有写入日志文件,我无法找到错误。

0 投票
3 回答
1755 浏览

c# - 图像类型文件 C# ASP.Net 所需的 IHttpHandler 示例

谁能提供一个处理图像类型的 IHttpHnalder 的好例子。我想调整托管在我的服务器上的图像大小

0 投票
6 回答
105311 浏览

asp.net - 什么是 ASP.NET 中的 HttpHandler

什么是 ASP.NET 中的 HttpHandler?为什么以及如何使用它?

0 投票
1 回答
884 浏览

asp.net - HttpContext 并为 WebForms 和 MVC 编写组件

我正在编写一个我希望能够在 MVC 和 WebForms Web 应用程序中使用的组件,但我不确定如何处理 HttpContext 处理方式之间的差异。

我的组件涉及自定义 IHttpHandler(用于 WebForms)或自定义 ActionResult(用于 MVC)。

所以我有几个问题:

  • 有没有办法在不破坏模型的情况下将 IHttpHandler 与 MVC 一起使用?
  • 在尝试编写适用于两者的代码时使用 HttpContext.Current 是否可以接受?对我来说这似乎有点暴力(不知道为什么),但替代方案是编写和实现一个相当冗长的接口来处理 HttpContext 和 ControllerContext 之间的抽象。
  • 我会完全错了吗?
0 投票
3 回答
3949 浏览

web-applications - 将 .ashx 设置为 Web 应用程序的起始“页面”

是否可以将 .ashx 文件设置为 Web 应用程序的起始(或默认)页面?如果是这样,它是如何完成的?

编辑- 一些好的建议。我在网站上的 IIS 默认文档和“启用的默认文档”中添加了“Default.ashx”,但是,即使我禁用了目录浏览,它也只显示目录列表。

任何其他建议将不胜感激。(IIS 5.1 版)

编辑- 重新启动 IIS 并且它可以工作。

问题- 请问是否可以在 Visual Studio 2005 中将起始页设置为 .ashx?执行此操作后,我似乎无法从 Visual Studio 中进行调试。

答案- 在应用程序属性中,可以在“Web”选项卡下选择“开始操作”。事实上,它还允许选择使用哪个 Server/Port 和 Debugger。很酷。

0 投票
1 回答
3000 浏览

service - asp.net web service和Ihttphandler的区别

简单的任务,比如发出 AJAX 请求,传递一个参数并返回结果,可以通过 Web Service 和 IHttpHandler 完成,那么区别在哪里?

0 投票
1 回答
1396 浏览

iis - IHttpHandler 处理 IIS 6、IIS 7 和 ASP.NET 开发服务器中的所有 URL 扩展

我们有一个负责文件下载的自定义 IHttpHandler。处理程序映射到 URL /downloadfile.rem

浏览器将用户重定向到格式如下的 URL:
/downloadfile.rem/[fileID]/[mimeType]/[fileName].[extension]
示例:
/downloadfile.rem/54923876129874545456621/text$plain/data.txt

我们的处理程序从 URL 获取提供的信息并使用文件数据进行响应。

此方法在 IIS 6 和 IIS 7 中有效,但我们遇到了 ASP.NET 开发服务器的问题。看来,IIS 6 和 IIS 7 从左到右查看 URL 并停止和“downloadfile.rem”部分并正确调用我们的自定义处理程序。ASP.NET 开发服务器似乎从右到左查看 URL,并根据 URL 末尾的扩展名决定如何处理文件。这给出了 404 响应。当我们从 URL 的末尾删除扩展名时,一切都按预期工作。

这是我们在 httpHandlers 部分的条目:

<add verb="GET" path="downloadfile.rem" type="OurNamespace.DownloadFileHandler"/>

这是我们在处理程序部分的条目:

<add name="DownloadFile" verb="GET" path="downloadfile.rem" type="OurNamespace.DownloadFileHandler"/>

如何使其在 ASP.NET 开发服务器中正常工作?

基本原理 - 为什么我们这样做?
下载文件是 Ajax 请求的结果动态生成的。由于是Ajax请求,我们不能直接将文件返回给浏览器,而是存储在磁盘上供浏览器稍后请求。服务器端的文件名是文件内容的 SHA-1(不带扩展名)。 我们可以简单地让浏览器向/downloadfile.rem?fileID=37452834576542345676234?mimeType=text$plain?fileName=data.csv之
类的 URL 发送 GET 请求, 然后在服务器端返回带有“附件;文件名”的 Content-Disposition 标头=...”,但是在某个版本的 IE 6(我们必须支持)中存在一个错误,它忽略了标题的文件名部分,并且将要求用户保存一个 downloadfile.rem 文件。


因此,我们的 URL 必须以应该提供给文件的文件名结尾。

0 投票
3 回答
24469 浏览

asp.net - http handler 接口中 bool IsReusable 的意义

在编写 http 处理程序/模块时,有一个接口成员可以实现称为 - bool IsReusable

这个成员有什么意义?如果我将其设置为 false(或 true),这对 Web 应用程序的其余部分意味着什么?