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

xml-serialization - 是否可以将以 .aspx 结尾的链接重定向到 .ashx?

我们有一个最近发布的网站,主要基于 SharePoint。一些站点需要直接返回 XML。该项目的顾问将 xml 返回实现为在 page_load 方法中写入响应对象的 .aspx 页面。

经过一小段时间的研究,我意识到这可能是错误的方法,因为它会调用我们不需要的 ASPX 页面的所有额外事件。

这是我的问题,我想将这些函数重新创建为与 httphandler 的 .ashx 链接。但是,我希望能够保留以 .aspx 结尾的原始链接以及伴随它们的 get 参数,以决定返回哪种类型的 XML。

是否可以将 .aspx 结尾链接重写/重定向到 .ashx 链接。或者这会导致 IIS 服务器错误地解释每个 .aspx 吗?

0 投票
2 回答
1816 浏览

.net - 通过 HTTP POST 向 IHttpHandler 发送 XML 数据会导致 HttpRequestValidationException

我正在编写一个 IHttpHandler 实现,它将接收通过来自另一个网站的常规 HTTP POST 发送的 XML 数据。这是实现的原型:

我正在使用这个简单的页面测试实现:

问题是当我尝试从发布的数据中读取“输入”值时,如果它包含一个 xml 字符串,我得到的只是一个 HttpRequestValidationException。我尝试使用

在 web.config 中,并将 validate="false" 属性放在 httpHandles 部分的处理程序声明中,没有结果。

如何在我的处理程序中读取发布的 xml?(请注意,我必须为此任务使用 IHttpHandler)。

编辑:框架版本:4.0,IIS 7.x

谢谢你们!:)

0 投票
1 回答
2103 浏览

asp.net - 压缩来自 IHttpHandler 的响应时“无效使用响应过滤器”

我有一个返回文件的 IHttpHandler。当响应流被压缩时,要么自动使用 Telerik RadCompression,要么使用显式设置过滤器

返回给浏览器的响应是正确的,但在响应的末尾是一些 HTML。HTML 包含异常:

如果我确保响应未压缩,则响应不包含异常。

那是怎么回事?

0 投票
0 回答
427 浏览

.net - 如何让 IHttpHandler 正确进行身份验证?

我有一些IHttpHandler实现,他们可以选择对其应用身份验证。

我最初推出了自己的基本身份验证,但现在想使用 IIS 的功能,以便部署用户可以控制他们使用的身份验证类型,并且处理程序只需查找当前用户是否被允许执行他们请求的操作。

确定用户是否可以执行操作并返回 401/403 很容易,但我不知道如何让 IIS 将相关的 HTTP 标头添加到请求客户端发回凭据的响应中。我可以手动添加它们,但我只能实际实现基本身份验证(这是我最初所做的),这让我回到了第一方。

我可以调用一些魔术方法来告诉HttpContext将相关标头附加到响应中吗?

更一般地说,我正在尝试做的事情甚至可能不诉诸实施IHttpModule来干扰 ASP.Net 页面生命周期的身份验证事件?

0 投票
3 回答
2503 浏览

c# - 如何在 IHttpHandler 中捕获特定的 HttpException (#0x80072746)

看起来这个 HttpException (0x80072746 - 远程主机关闭了连接) 可能会被抛出,例如,如果用户在我们传输文件时关闭了窗口。即使我们以较小的块发送文件并检查客户端是否仍然连接,异常仍然可能发生。我们希望能够捕捉到这个特定的异常,并忽略它。

HttpException 中提供的 ErrorCode 是一个 Int32 - 太小而无法容纳 0x80072746,那么我们在哪里可以找到这个数字呢?

0 投票
1 回答
1259 浏览

asp.net - 如何在 ASP.NET 中保留会话值?

我正在实施IHttpHandler并且IRequiresSessionState正在使用context.Session,但是在 Session 中设置了一个值之后,它在下一个请求中丢失了。我能做些什么来坚持价值观?

第二次调用与此类似,但是当我调用此函数时设置的值在下一次请求时也会丢失。

如何在 ASP.NET 的会话状态中保持值?

0 投票
1 回答
1291 浏览

jquery - ASP.NET 应用程序中丢失的会话值

我在 ASP.NET 中创建了 HttpHandler 类,并配置了一个网站来处理带有 *.test 路径的任何请求。

在设置方法中,我有这样的代码:

然而,在 DoStep 方法中,context.Session.Count = 0 并且 context.Session["Game"] 为 NULL。在客户端,我使用 jquery 来调用这些函数。这样的调用如下所示:

我怀疑问题是 ASP.NET 不知道从 javascript 发送的这些请求属于同一个会话,这就是会话值丢失的原因。我认为我需要发回一些 cookie 信息或其他东西以识别下一个请求,但事实是我不知道。

非常感谢任何帮助。

0 投票
2 回答
356 浏览

asp.net - 通过在 ASP.NET 应用程序中使用 HttpHandlers 可以进行哪些不同的自定义?

深入研究 HttpHandlers,我发现它们提供了自定义 ASP.NET 应用程序的好方法。我是 ASP.NET 的新手,我想了解可以使用 HttpHandlers 进行的不同自定义。许多网站都在谈论它们是如何实现的,但如果了解一些 ASP.NET 已经使用 HttpHandlers 提供的用例之外的用例,那就太好了。

0 投票
1 回答
222 浏览

asp.net - 通过 IHttpHandlers 在 javascript 中进行本地化

在 ASP.NET 的 Http 处理程序中访问 .resx 文件的最佳方法是什么?

我需要在 javascript 中访问它们。我的目标是通过 IHttpHandler 在 JSON 中序列化它们。问题是我根本不知道应该根据请求语言加载哪个 .resx。

谢谢!

0 投票
1 回答
1073 浏览

inversion-of-control - 温莎城堡和 IHttpHandler 和 IHttpHandlerFactory

我正在开发一个 RIA 应用程序,其中客户端上有 javascript(我正在使用 Ext)和服务器上的 .NET,对于 json-rpc,我使用的是 Jayrock,它是一个不错的库(至少对我来说),因为它很简单,效果很好,我过去用过。

Jayrock 使用 Web 处理程序来处理 json-rpc 请求,您编写一个实现 IHttpHandler 并派生自具有某些属性的 Jayrock 类的类,然后它会为浏览器提供一个 javascript 类来发挥其魔力。

现在,通常 web 处理程序将具有无参数构造函数,但我想在它们上使用 DI,并使用 windsor 为我解决依赖关系

所以,我会有一些像下面这样的课程

所以,现在的问题是如何让温莎在中间进行解决。在四处寻找之后,从它似乎做的春天,我想我可以尝试一下 IHttpHandlerFactory,并编写类似这样的代码

将 Web 应用程序配置为使用 ashx 文件的工厂,并在 global.asax 中创建容器,使用 url 作为 id 配置处理程序,并将容器注册到 Web 缓存中。

您认为这是一个不错的解决方案吗?或者我在这里缺少什么,是否有另一种方法可以让容器解析 Web 处理程序?

预先感谢