7

「www」URL( http://example.com/)なしで「www」URL(http://www.example.com/ )にリダイレクトするモジュールを使用しているWebアプリを作成しました。しかし、私はHttpModuleを実装する権限がない共有ホスティングサーバーにいるので、Global.asaxファイルで同じモジュールコードを試しました。それはうまくいきます!

次の (Application_BeginRequest()) イベントを使用して、HttpModule 機能を実装しました。

void Application_BeginRequest()
{
  //module code
}

モジュールとアプリケーションは Global.asax ファイルから正常に動作していますが、パフォーマンスが心配です。

asp.net で HTTPModules を使用する理由 Global.asax ファイルを使用して同じものを実装できる場合。両方にパフォーマンスの違いはありますか。または、HttpModule の代わりに Global.asax ファイルを使用するときに心配する必要がある違いはありますか??

説明してください!

4

2 に答える 2

4

Global.asax は HTTPApplication から継承し、HTTPModules は IHTTPInterface を実装する必要があります。
HTTPModules Init メソッドは、渡された HTTPApplication オブジェクトを取得します。Init メソッドでは、HTTPApplication
のイベントにフックできます。

可能な限り HTTPModules を使用することをお勧めします。
特に、顧客がglobal.asaxを自分のものに置き換えることができるシュリンクラップされたソフトウェアを作成する場合.

于 2009-02-21T15:21:15.683 に答える
2

ほとんど違いはありません。HTTPModules のポイントは、明確さと分離です。多くの場合、要求を複数の HTTPModule にパイプしますが、これは global.asax では取得できません。

于 2009-02-21T15:07:25.873 に答える