问题标签 [httpmodule]

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 投票
5 回答
979 浏览

c# - 如何缓存从文件中读取的 .NET 2.0

我有一个从 csv 文件中读取重定向规则的 httpmodule。

但是,由于它是一个 httpmodule 并且它会检查每个请求,我显然不想每次都读取该文件。

有哪些策略可以缓存规则(在数组中),这样我就不必在每次请求时都读取文件?

更新:使用 .NET 2.0

0 投票
1 回答
872 浏览

c# - IIS 7 Http Handler 开发问题

我正在使用 VSTS 2008 + C# + .Net 3.5 + IIS 7.0 来开发一个 ASP.Net 网站。我想开发一个 Http 模块,它可以检查传入的请求是否有一些特定的 http 标头(例如 CustomerID),如果没有这样的标头,我会将用户请求重定向到其他一些页面。

我认为我应该在 IIS 7.0 集成模式下使用 Http Modules 进行开发?如果我错了或有更简单的解决方案,请纠正我。任何参考示例或教程?我是 IIS 7.0 中 Http 模块开发的新手。

0 投票
3 回答
1247 浏览

asp.net - 在 HttpModule 中渲染页面?

任何人都知道如何在 HttpModule 中呈现一个 aspx 页面并将其流式传输回浏览器?

0 投票
1 回答
636 浏览

asp.net - ASP.NET:将内容注入所有响应流

我们的站点中有数百个 ASPX 和 HTML 文件,并且希望在每个文件的末尾注入一个小的 JavaScript。如果我想使用 HttpModule (尝试学习新东西)来做到这一点,这样做会 - 有什么明显的问题吗?

0 投票
1 回答
566 浏览

asp.net - ASP.NET:HttpApplication 生命周期

在 HttpModule 中,我想在设置 HttpResponse.Headers 集合之后但在将响应主体添加到响应流之前拦截响应。这会发生在 HttpContext.Current.PreSendRequestContent 事件上吗?

0 投票
4 回答
1796 浏览

asp.net - ASP.NET:HttpModule 性能

我已经实现了一个 HttpModule,它拦截每个请求的响应流,并在每个文本/html 类型的响应上运行六到十个 Regex.Replace()。我担心我在这里会受到多大的性能影响。有什么好办法查明?我想比较运行和不运行 HttpModule 的速度。

0 投票
1 回答
311 浏览

asp.net - ASP.NET:HttpModule

如何检查我的 HttpModule 中的响应已发送或缓冲了哪些内容?

0 投票
3 回答
814 浏览

asp.net - ASP.NET:合法架构/HttpModule 问题?

我工作的一位架构师最近阅读了Yahoo! 的 Exceptional Performance Best Practices指南,其中说要为页面使用的资源(如 JavaScript、CSS 和图像)使用一个遥远的 Expires 标头。这个想法是你为这些资源在未来几年设置一个 Expires 标头,这样它们总是被浏览器缓存,每当我们更改文件并因此需要浏览器再次请求资源而不是使用它的缓存时,更改文件名通过添加版本号。

不过,他没有将其纳入我们的构建过程,而是有另一个想法。我们不会为每个构建更改源文件和服务器磁盘上的文件名(当然,这会很乏味),我们将伪造它。他的计划是在所述资源上设置远期过期,然后实现两个 HttpModule。

一个模块将在我们的 ASPX 和 HTML 页面发出之前拦截所有响应流,查找资源链接并添加版本参数,即文件的最后修改日期。另一个 HttpModule 将处理所有对资源的请求,并简单地忽略地址的版本部分。这样,浏览器每次在磁盘上发生更改时总是会请求一个新的资源文件,而实际上不必更改磁盘上文件的名称。

说得通?

我的担忧与重写 ASPX/HTML 页面响应流的模块有关。<script>他只是要在标签的“src”属性和<img>标签的“href”属性上应用一堆Regex.Replace() <link>。对于内容类型为“text/html”的服务器上的每个请求,都会发生这种情况。可能每分钟数百或数千。

我知道 HttpModules 被挂接到 IIS 管道中,但这必须在 IIS 发送 HTTP 响应所需的时间上增加一个令人望而却步的延迟。不?你怎么看?

0 投票
1 回答
6990 浏览

asp.net - HTTPModule BeginRequest 应该使用 Response.Redirect 还是 Server.Transfer

我们有一个 URLRewriting 模块,它在 BeginRequest 事件方法中使用 Response.Redirect 来更改目标页面。

  • 使用 Server.Transfer 或 Server.TransferRequest 而不是 Response.Redirect 会更好吗?
  • 解决方案中还有其他 HTTP 模块,我是否会使用 Server.Transfer 绕过任何其他模块,或者服务器是否会像新请求一样开始,只是将往返行程保存到浏览器?
  • 客户端会注意到任何差异吗?服务器会以不同的方式处理请求吗?

以下问题涵盖了重定向和传输之间的区别,但不在 HTTP 模块中;

编辑:模块中也使用了 HttpContext.RewritePath,所以看起来我们有三种技术可以将初始请求从原始路径移动;Redirect、Transfer、RewritePath分别是其中;返回浏览器,返回 HTTP 管道的开始并继续在新路径上处理。

0 投票
3 回答
430 浏览

c# - C# 数据库中的动态页面

请原谅我是否已经在某个地方问过这个问题,但我无法找出完成这项任务的最佳方法。我希望能够创建一个渲染系统,它允许我从数千个不同的 .aspx 页面中渲染出内容,而无需创建数千个 .aspx 页面。话虽如此,我仍然希望能够呈现出适当的 .aspx 页面(如果它存在于我的代码中)。

例如,当向站点发出请求时,我想检查该 URL 是否在数据库中,如果是,那么我想适当地呈现内容。但是,如果没有,那么我希望它继续呈现真实的 .aspx 页面。

在尝试使用 HTTPModule 时,我无法获取数据库中存在的页面来写出适当的内容。这是我的代码。

但是,当尝试使用 HTTPHandler 时,我无法正确呈现真正的 .aspx 页面,因为 *.aspx 动词正在由处理程序处理。

如果有人对如何完全重新设计它有任何更好的想法,我也完全愿意接受。谢谢。