HttpModule和Global.aspx之间的性能差异是什么?

Pra*_*ant 7 c# web-applications asp.net-2.0 httpmodule global-asax

我已经在那里我使用的无"www"的网址(重定向模块做了一个Web应用程序http://example.com/)与"WWW"的网址(http://www.example.com/).但正如我共享托管服务器,在那里我没有实现的HttpModule权限,然后我试图与Global.asax文件相同的模块代码.这样可行!

我使用以下(Application_BeginRequest())事件来实现我的HttpModule功能.

void Application_BeginRequest()
{
  //module code
}
Run Code Online (Sandbox Code Playgroud)

从Global.asax文件中模块和应用程序运行良好但是我担心性能.

为什么我们在asp.net中使用HTTPModules如果我们可以使用Global.asax文件实现相同的.两者之间是否存在性能差异.或者在使用Global.asax文件而不是HttpModule时需要担心的任何差异?

请解释!

Kb.*_*Kb. 4

Global.asax继承自HTTPApplication,并且HTTPModules必须实现IHTTPInterface。
HTTPModules Init 方法获取传入的 HTTPApplication 对象。
在 Init 方法中,您可以挂钩 HTTPApplication 的事件。

我建议尽可能使用 HTTPModules。
特别是如果您制作收缩包装软件,客户可以用自己的 global.asax 替换您的 global.asax。

  • 我不认为性能差异值得担心。它们都使用 HTTPApplication 对象。唯一的问题是:每次更改 global.asax 时,它都会重新编译。 (2认同)