问题标签 [response.filter]

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 回答
2354 浏览

iis-7 - ASP.Net 响应筛选器与 SharePoint 2010 发布站点默认值冲突

我正在调试一个带有 ASP.NET 响应过滤器的 HttpModule。这会动态重写部分呈现的 SharePoint WCM 页面。发布页面在 Server 2003 和 Server 2008 上的 SP2007 中呈现良好。但是,等效页面无法在 Server 2008 R2 / IIS7 上的 SP2010 B2 中呈现。ASP.NET 返回以下错误:

后缓存替换与修改响应缓冲区的 IIS 集成管道中的模块不兼容。管道中的本机模块已修改与托管后缓存替换回调关联的 HTTP_DATA_CHUNK 结构,或者托管过滤器已修改响应。

此错误与KB #2014472一致。然而:

  1. 在网站集级别为匿名和经过身份验证的访问禁用缓存
  2. 母版页或布局页上似乎没有任何替换控件
  3. IIS 7 设置都是默认设置

这发生在例如 /pages/default.aspx 上。似乎我错过了一些与缓存相关的东西......但是什么?

0 投票
2 回答
1077 浏览

asp.net - System.Text.Ecoding.UTF8.GetString 正在返回垃圾

这是困难的一个。我有一个响应过滤器设置来转换 html,然后再返回浏览器 ( http://aspnetresources.com/articles/HttpFilters )。这在除我之外的每个人的机器上都可以正常工作。实际上,它一直在我的机器上工作,直到我不得不进行硬重置,因为它被锁定了。

对于其他所有人(以及我以前的)strBuffer 包含 HTML。现在无论出于何种原因,它都会为我返回垃圾字符。有任何想法吗?我要拔头发了!!

更新

原来是“启用动态内容压缩”导致了这个问题。由于某种原因,它在被传递到过滤器之前会被压缩。

解决方案

在 web.config 中将“dynamicCompressionBeforeCache”设置为 false 解决了该问题。

0 投票
1 回答
246 浏览

httpresponse - Response.Filter 多次调用 Write()?

一段时间以来,我使用自定义 Response.Filter 进行重写。由于我从未测试过这个模块,所以我决定运行一些测试并发现了一些我没想到的东西。

我意识到使用多次调用 Write() 将页面写入流。

那么这是否意味着我的重写逻辑被多次调用以用于同一块 html 或 html 实际上被划分为分区?

请帮助我了解 Write() 的工作原理。

0 投票
1 回答
776 浏览

c# - IHttpModule Response.Filter 写入不关闭 HTML

我编写了一个自定义 IHttpModule,但是当源中没有结束标记时它会导致问题。我在 CMS 中遇到了几个页面,我正在运行它,因为 .aspx 页面更像是一个处理程序,并且放弃关闭 html 以通过 ajax 将响应返回给用户。

这是我的来源:

如您所见,这很棒,因为它只在最后一次调用 Write 时进行替换,但如果输出没有结束 HTML 标记,则 blammo。

如果找不到关闭的 html,我最好的选择是甚至不添加新过滤器。但我不认为我可以这么早截取完整的流。除了寻找结束的html标签之外,还有另一种检测Write的方法是在流的末尾吗?

提前致谢。

0 投票
1 回答
876 浏览

c# - ASP.NET Response.Filter 不调用 Write

我有一个 ASP.NET http 模块,它添加了一个响应过滤器并根据正则表达式对传出的 HTML 进行了一些更改。前几天我注意到它似乎不再正常工作了。经过检查,我注意到Write方法永远不会被调用。

我相信这在我们迁移到 .NET 4.0 / IIS 7.5(从 3.5 / IIS 6)之后开始发生,我们现在使用集成模式。

响应过滤器被添加到 IHttpModule 的 BeginRequest 事件中......

我确实看到响应过滤器的FlushClose方法被调用,但我在 Write 中的断点从未被命中。

还有其他人遇到过这个问题,或者对为什么会发生这种情况有任何见解吗?

0 投票
2 回答
5801 浏览

asp.net - asp.net MVC 3/4 相当于一个 response.filter

我需要拦截将发送到浏览器的所有 html 并替换那里的一些标签。这需要在全球范围内针对每个视图进行。使用 C# 在 ASP.NET MVC 3 或 4 中执行此操作的最佳方法是什么?过去,我使用 Global.asax (vb) 中的“response.filter”在 ASP.net Webforms 中完成了此操作

这调用了我创建的一个类,它继承自 system.io.stream 并遍历 html 以替换所有标签。我不知道如何使用 C# 在 ASP.NET MVC 4 中执行此操作。正如您可能已经注意到的那样,我是 MVC 世界的新手。

0 投票
1 回答
1275 浏览

asp.net-mvc-3 - 如何在 MVC 3 Razor 中使用过滤器修改 HTTP 响应?

_Layout.cshtml 中的 HtML 部分

Index.cshtml 中的 Html 部分

使用下面的代码我可以替换!(IMAGEPATH)!仅在 _Layout.cshtml 中

但上述代码不会影响像Index.cshtml这样的子页面。请告诉我ASP.NET MVC3中的任何事件,例如 Classic ASP.NET 的旧受保护覆盖​​ void OnPreInit(EventArgs e)!!!

我想知道在 MVC3 中渲染之前哪个事件会影响所有子页面?

0 投票
3 回答
13872 浏览

asp.net - ASP.NET 响应过滤器

我需要创建过滤器,将<h2>HTML 中的标签替换为<h3>

我的过滤器

我的模块

我收到错误 System.Web.HttpException:在这种情况下,答案不可用。

0 投票
0 回答
175 浏览

c# - 设置 Response.Filter 如何在返回之前导致长时间(2 分钟)延迟?

我有一个如下所示的 .svc WCF Web 服务:

鉴于我当前的测试数据,未压缩的 XML 响应为 70k。压缩后是6k。两种方式在功能上都有效,因为它们返回响应(除了一种标记为放气)。我的测试服务器没有被其他任何东西使用,并且在测试期间,CPU 使用率没有明显的峰值。

那么,压缩响应的响应时间在 ~122 到 ~128 秒之间,但未压缩的响应需要(更预期的)一两秒,这是怎么回事?它可能会挂断或超时?

[编辑] 我刚刚注意到我的 Content-Length 被设置(通过什么,我不确定)为未压缩的大小,而不是压缩的大小。然后让服务器等待,直到某些东西强行关闭连接或放弃。所以问题就变成了,为什么我的 Content-Length 是错误的?...这可能是相关的... WCF 服务在使用 gzip 编码时返回不正确的 Content-Length