问题标签 [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 投票
3 回答
12943 浏览

c# - ASP.NET - 在代码中动态注册一个 HttpHandler(不在 web.config 中)

可能重复:
有什么方法可以在.NET 中以编程方式添加 HttpHandler?

有没有办法可以IHttpHandler在 C# 代码中动态注册一个,而不必手动将它添加到system.web/httpHandlersweb.config 中的部分。

这听起来可能很疯狂,但我有充分的理由这样做。我正在构建一个网站所有者只需将 .dll 文件拖放到他们的 bin 目录中即可使用的 WidgetLibrary,并且希望通过对 web.config 的最小配置来支持它。

0 投票
2 回答
10010 浏览

c# - 动态更改 ASP.NET MVC 路由

通常,当我查看 ASP.Net MVC 应用程序时,路由表会在启动时进行配置,之后就不会被触及。

我对此有几个问题,但它们彼此密切相关:

  • 是否可以在运行时更改路由表?
  • 我将/应该如何避免线程问题?
  • 是否有更好的方法来提供动态 URL?我知道 ID 等可以出现在 URL 中,但看不到这如何适用于我想要实现的目标。
  • 我怎样才能避免这种情况,即使我定义了默认控制器/操作路由,该默认路由不适用于特定组合,例如“评论”控制器上的“发布”操作不能通过默认路由使用?

背景:评论垃圾邮件发送者通常会从网站获取发布 URL,然后不再费心通过网站进行自动垃圾邮件发送。如果我定期将我的帖子 URL 修改为某个随机的 URL,垃圾邮件发送者将不得不返回该站点并找到正确的帖子 URL 以尝试发送垃圾邮件。如果该 URL 不断变化,我认为这可能会使垃圾邮件发送者的工作更加乏味,这通常意味着他们放弃受影响的 URL。

0 投票
2 回答
326 浏览

asp.net - 站点根目录或主页的 Web.Routing

我正在使用 Web.Routing 做一些工作,使用它来获得友好的 url 和类似于站点的类似 Rest 的界面,该站点基本上由单个 IHttpHandler 呈现。没有网络表单,处理程序生成所有 html/json 并将其作为流程请求的一部分写入。

例如,这适用于 /Sites/Accounting 之类的东西,但我无法让它适用于站点根目录,即“/”。

我尝试使用“default.aspx”(这是我保存在根文件夹中的空 aspx 文件,以便与 cassini 和 iis 配合使用)注册一个带有空字符串的路由。我将 RouteExistingFiles 显式设置为 false,但无论我在点击根 url 时做什么,它仍然会打开 default.axpx,它没有继承的代码,并且包含一个简单的 h1 标记来表明我已经点击了它。

我不想更改默认文件以重定向到所需的路由,我只想要在没有找到其他路由时应用的“默认”路由的等效项,类似于 MVC。

作为参考,该站点的先前版本没有使用 Web.Routing,但在 web.config 中引用了一个处理程序,该处理程序完全能够拦截对 root 或 default.aspx 的请求。

规格:ASP.NET 3.5sp1、C#、无网络表单、MVC 或 openrasta。普通的旧 IHttpHandlers。

0 投票
1 回答
856 浏览

asp.net - 为什么通过 IHttpHandler 调用 IHttpAsyncHandler?

我制作了一个从 MvcHandler 派生的自定义处理程序。我的路由使用自定义 RouteHandler,它返回 GetHttpHandler() 的新处理程序,并在自定义处理程序中覆盖 ProcessRequest()。对 GetHttpHandler 的调用正在触发断点,并且肯定会调用我的处理程序的构造函数,但是在基础 MvcHandler 上调用 BeginProcessRequest() 而不是 ProcessRequest()。

当我没有做任何事情来调用它们时,为什么会调用异步方法?我不想要异步处理,而且我当然没有做任何明确的事情来获得它。我的控制器都派生自 Controller,而不是 AsyncController。

我现在没有源代码,但如果需要,我可以稍后添加。我希望有人可能知道在不需要时可能会调用 BeginProcessRequest 的一些原因。

0 投票
1 回答
668 浏览

c# - 提供 PDF 时出现 XML 解析错误

我正在尝试使用 Http 处理程序从 ASP.NET 中的数据库中提供 pdf 文件,但每次我转到该页面时都会出现错误

这是我的 HttpHandler 代码:

我还需要做什么(服务器配置/其他)来加载我的 pdf 文件吗?

0 投票
1 回答
383 浏览

.net - ASP.net 1.1 是否支持通用 HttpHandlers?

我需要从 SQL Server 获取图像作为字节 [],并将其加载到 WebControl.Image。我发现的唯一看似好的方法是实现 IHttpHandler 并相应地处理请求。

但我坚持使用 asp.net 1.1。它支持ashx文件吗?

0 投票
1 回答
928 浏览

c# - C# Image HttpHandler:在处理程序中禁用 cookie (YSlow / Google PageSpeed)

我有一个用于调整图像大小、圆角、反射等的 HttpHandler。我工作正常。我遇到的问题是,一些数据存储在 cookie 中,并且 cookie 在显示时发送到图像。有什么方法可以在 web.config 甚至 HttpHandler 本身中全局禁用此功能(无 cookie 请求)?

示例页面: http ://test.roob.dk/dk/product/ray-ban-rb3359-polarized-16/

在此先感谢 CP // 丹麦

0 投票
1 回答
4214 浏览

c# - asp.net 中的自定义 httphandler 无法获取请求查询字符串?

我一直在努力让它发挥作用。这基本上是一种让某些 MVC 页面在 webforms cms (umbraco) 中工作的方法

有人在我之前尝试过并且遇到了 MVC2.0 的问题(请参阅此处),我已经阅读了该帖子,做了那里宣布的事情,但是无论有没有该代码,我似乎都陷入了不同的问题。

看起来,如果我调用一个 url,它会触发处理程序,但无法请求传递的查询字符串,变量 originalPath 始终为空,例如我调用这个 url:http://localhost:8080/mvc.ashx?mvcRoute =/home/RSVPForm 处理程序应该获取 mvcRoute 但它始终为空。因此被重写为一个简单的 / 然后返回资源找不到错误。

这是我现在使用的代码:

我想对此提出一些新的意见,因为我对这样一个简单的问题视而不见,而我认为 mvc 本身会有更多问题。

0 投票
0 回答
202 浏览

asp.net - http处理程序的默认操作?

我正在建立一个站点,该站点使用 ihttpmodule 控制对下载目录的访问。由于文件都是 zip、exe、rar 等文件,因此未应用默认处理程序并且会话状态不可用。因此,我为使用 IRequiredSessionState 的目录添加了一个自定义 http 处理程序,因此我的会话现在可以在我的模块中使用。但是,我不知道如何处理处理程序中的流程请求方法。有什么方法可以调用流程请求的默认操作?由于我要做的是提供下载服务,所以我最接近的方法是执行 context.Response.TrasmitFile() 吗?那时,拥有 http 模块还有什么意义,只需在处理程序中进行安全检查吗?谢谢!

0 投票
1 回答
2307 浏览

firefox - 使用 Firefox 丢失会话变量,在 IE 中有效

我在 HttpHandler 中设置一个 Session 变量,然后在 ASPX 页面的 Page_load 事件中获取它的值。我正在使用

(在有人建议我检查 file.FileName 的有效性之前,如果我在其中硬编码一个测试字符串,也会出现同样的问题。)它在 IE 中工作得很好,但在 Firefox 中找不到会话变量,得到以下代码中的“对象引用未设置为对象的实例”错误:

有没有人遇到过这个问题 - 并希望提出一种传递会话变量的方法?