问题标签 [httpapplication]

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

asp.net - HTTPModule 事件执行顺序?

有谁知道站点或页面,或者知道 HTTPModule 事件执行的 HTTPApplication 类事件的执行顺序?

我找到了所有事件的MSDN 文档,但它没有显示流程步骤列表,我也找不到。

0 投票
2 回答
11897 浏览

iis-7 - 我在哪里捕获和处理 IIS7 中超出的 maxAllowedContentLength?

我有一个 aspx 页面,允许用户上传文件,并且我想将最大文件上传大小限制为 10MB。IIS7、.NET 3.5。我在 web.config 文件中配置了以下内容:

我有一个自定义错误处理模块,它实现IHttpModule. 我发现当maxRequestLength超过时,HttpApplication.Error确实会提高。但是,当我玩 时maxAllowedContentLengthHttpApplication.Error不会引发事件,并且用户会被重定向到 404.13 页面。我已经附加了 Visual Studio,第一次机会异常打开,没有抛出任何异常。

我的第一个想法是在较早的事件中检查标题内容长度——是否有关于我在哪里执行此操作的建议/最佳实践?PostLogRequest?结束请求?

0 投票
1 回答
1175 浏览

asp.net-mvc - asp.net MVC,如何使用 HTTPApplication 类

如何在 MVC 中收集站点统计信息?(用户在线..等?)

0 投票
2 回答
945 浏览

asp.net - 在没有 HttpContext 的情况下在 asp.net 中获取 ApplicationState

我有一个 webapp,它在 ApplicationState 中存储了一个配置对象。此对象包含与数据库的连接字符串以及其他内容。

有时我会启动一个异步线程来执行一些运行时间较长的任务,例如发送电子邮件和更新数据库。

但是,由于该线程没有 HttpContext 我无法获取配置对象。

我知道这种一切都依赖于 HttpContext 的设计很糟糕,但现在改变已经太迟了。查看反射器,我看到 HttpContext 类仅使用静态内部类来获取 ApplicationState。有没有其他方法可以得到它?

.net 中的所有这些内部类真的很烦人。

0 投票
3 回答
2865 浏览

asp.net - 为什么 PreSendRequestHeaders 和 PreSendRequestContent 运行不一致?

在使用 HTTP 模块时,是否有人注意到管道中的最后两个事件——PreSendRequestHeaders 和 PreSendRequestContent——并不总是运行?

我已经验证绑定到 EndRequest 的代码会运行,但不会在绑定到 PreSendRequestHeaders 或 PreSendRequestContent 时运行。

有什么原因吗?我认为这可能是一个缓存问题(使用 304 Not Modified,您实际上并没有发送内容......),但我已经清除了缓存并确定服务器正在返回 200 OK,这表明它发送了内容.

这是一个问题,因为响应的 StatusCode 默认为 200,我的理解是,在这两种最终方法之前,它不会更新为 404 或 206 之类的东西。如果我在 EndRequest 期间检查 StatusCode,它将始终显示为 200。

0 投票
2 回答
72711 浏览

c# - 验证请求事件


Q 1. 据我了解FormsAuthenticationModule是订阅AuthenticateRequest事件,因此只有在这个事件被触发后,才会被FormsAuthenticationModule调用。但是下面的引用让我有点困惑:

  1. AuthenticateRequest事件表明配置的身份验证机制已对当前请求进行身份验证。

    • 上面的引用不是表明在AuthenticateRequest引发事件时,请求(又名用户)已经过身份验证吗?
  2. 订阅AuthenticateRequest事件可确保在处理附加的模块或事件处理程序之前对请求进行身份验证。

    • 据我了解这句话,如果我们订阅AuthenticatedRequest,那么我们的事件处理程序将在FormsAuthenticationModule? 因此Application_AuthenticateRequest()会在被调用之前FormsAuthenticationModule被调用吗?


Q 2. 我正在学习的书建议Application_AuthenticateRequest()我们能够验证用户是否是特定角色的成员,如果不是,我们可以自动添加用户:

从上面的代码来看,在被调用Application_AuthenticateRequest()之后FormsAuthenticationModule被调用,但是同一本书的其他地方暗示Application_AuthenticateRequest()在之前被调用FormsAuthenticationModule

Application_AuthenticateRequest 在执行身份验证之前调用。这是创建您自己的身份验证逻辑的起点。


我错过了什么?


谢谢

0 投票
2 回答
6562 浏览

iis-7 - 全局 asax application_start 应用程序 begin_request 方法?

我有个问题。在 IIS 7.0 从经典管道模式迁移到集成管道模式时,我们遇到了问题:

“/”应用程序中的服务器错误。

请求在此上下文中不可用...

我们在这个问题上找到了解决方案

作为解决方案,在 global.asax 中,我必须将 application_start 事件转发给Application_BeginRequest事件。

或者另一种解决方案是, Application_Start 事件可以在Application_BeginRequest之后开始。

有什么建议么 ?我没有选择“经典模式”之类的选项

0 投票
2 回答
5451 浏览

asp.net - 为什么多次调用HttpApplication构造函数

有人可以解释为什么在应用程序启动时多次调用从HttpApplication派生的自定义类的构造函数吗?

我的代码结构如下:
- 我在 global.asax 中的Global类派生自CustomApp类。
- CustomApp类派生自HttpApplication

Global类是在启动时创建的,但是当我在构造函数中放置断点时,它会被多次调用!我认为应该只创建一个Application类的实例?

我错了吗?

UPD:Web 服务器确实可以创建多个HttpApplication实例来处理同时进入的多个请求。当您在HttpApplication后代的构造函数中放置断点时,这一点变得尤为明显。来自客户端的多个请求(http 内容、CSS 文件等)将处于未决状态,并且为了为每个请求提供服务,Web 服务器将创建 HttpApp 的新实例。因此,在编写应用程序初始化逻辑时,请注意这一点。

0 投票
7 回答
916 浏览

asp.net - ASP.Net 会话状态

我想知道是否可以根据运行应用程序的域来更改 ASP.net 中用于 SessionState 的 sqlConnectionString?

一个场景;我们有 20 个站点从一个应用程序运行,所有站点都与不同的数据库通信,具体取决于它们浏览的域(站点)。

当浏览 www.domain1.com 时,应用程序与数据库 'db1' 对话。另一方面,站点 www.domain2.com 与数据库“db2”等进行通信,从而选择相关内容并将负载分散到每个数据库,而不是使用一个主数据库来处理站点的所有连接。

但是出现了一个问题 - 对于此设置,我们对 SessionState 使用 SqlServer 模式,因此所有站点会话的所有用户都存储在 1 aspstate 数据库中,现在随着站点变得更忙/站点数量增加,该数据库的处理压力越来越大所有站点的所有会话请求,并且我们开始收到一些超时错误,其中与该数据库的连接出现瓶颈。

我们可以将站点从他们自己的应用程序中分离出来,并使用相同的代码设置不同的应用程序,但在每个应用程序中,在每个 Web.Config 中设置不同的 Session 数据库,从而减轻负载。但是,这项任务将非常耗时,并且从长远来看会导致更多的管理。所以..我很想知道是否可以在创建会话对象之前根据域在代码中修改用于 SessionState 的 sqlConnectionString?我们可以从 System.Web.HttpApplication 继承并使用 Application_AcquireRequestState 事件来创建所需的 HttpSessionState 对象设置吗?

希望这是有道理的,并且有人可以提供一些指示并向我证明这不是白日梦!

干杯,史蒂夫

0 投票
1 回答
4992 浏览

testing - 如何使用 HttpApplicationState 测试 HttpApplication 对象

我正在尝试测试加载在 ASPNET HttpApplication 上的“插件” Application_Start

代码是这样的:

问题是我找不到测试的好方法,HttpApplicationState主要是因为该HttpApplication.Application属性不可覆盖,并且似乎没有允许这样做的HttpApplicationBase类。System.Web.Abstractions

我尝试了以下变体,每次总是遇到障碍。

任何人都可以为我提供一些好的方法吗?这是对更多依赖于能够模拟运行的 HttpApplicationState 的第一个测试。