HttpModule 和 Global.aspx 之间的性能差异是什么?
我制作了一个网络应用程序,其中使用的模块无需“www”网址即可重定向(http://example.com/< /a>)到“www”网址(http://www.example.com/)。 但由于我在共享托管服务器上,我没有权限实现 HttpModule,所以我尝试使用 Global.asax 文件使用相同的模块代码。 这样可行!
我使用以下 (Application_BeginRequest()) 事件来实现我的 HttpModule 功能。
void Application_BeginRequest()
{
//module code
}
Global.asax 文件中的模块和应用程序运行良好且正确,但我担心性能。
为什么我们在 asp.net 中使用 HTTPModules 如果我们可以使用 Global.asax 文件实现相同的功能。 两者之间是否存在性能差异? 或者使用 Global.asax 文件而不是 HttpModule 时我需要担心的任何差异?
请解释!
I have made a web app where I am using a module which redirects without "www" urls (http://example.com/) to with "www" urls (http://www.example.com/). But as I am on shared hosting server, where I don't have permission to implement a HttpModule, then I tried the same module code with Global.asax file. That works!
I used the following (Application_BeginRequest()) event to implement my HttpModule functionality.
void Application_BeginRequest()
{
//module code
}
The module and application is working well and correctly from Global.asax file But I am worried about the performance.
Why we use the HTTPModules in asp.net If we can implement the same using Global.asax file. Is there ay performance differences between both. Or any difference about which I need to worry about when using Global.asax file instead of HttpModule ??
Please explain!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Global.asax继承自HTTPApplication,HTTPModules必须实现IHTTPInterface。
HTTPModules Init 方法获取传入的 HTTPApplication 对象。
在 Init 方法中,您可以挂钩 HTTPApplication 的事件。
我建议尽可能使用 HTTPModules。
特别是如果您制作收缩包装软件,客户可以用自己的 global.asax 替换您的 global.asax。
Global.asax inherits from HTTPApplication, and HTTPModules must implement the IHTTPInterface.
The HTTPModules Init method gets the HTTPApplication object passed in.
In the Init method you can hook into the events of HTTPApplication.
I would recommend to use HTTPModules wherever you can.
Especially if you make shrink-wrapped software where the customer can replace your global.asax with their own.
几乎没有什么区别。 HTTPModules 的目的是为了清晰和分离。 通常人们会通过多个 HTTPModule 来传输请求,这是 global.asax 无法实现的。
There is pretty much no difference. The point of HTTPModules is for clarity and seperation. Often people will pipe the request through several HTTPModules, which is something you can't get with global.asax.