2009-08-25 17 views
1

私たちには、「URL書き換え」を行うことを目的としたHTTPModuleがあります。 HTTPModuleの定義によって、すべてのブラウザリクエスト(html、css、javascript、imagesなど)はこのクラスのイベントハンドラを経由します。Profile_OnMigrateAnonymousイベントを複数回起動する

サインインプロセスでは、Global.asaxのProfile_OnMigrateAnonymousイベントハンドラでユーザーが「匿名」から「サインイン」ユーザーに切り替わる瞬間があります。私たちが見つけている問題の1つは、ユーザーがサインインするとProfile_OnMigrateAnonymousイベントが発生するということです。リクエスト内のあらゆるリソース、つまりhtml、css、javascript、imagesなどのページをユーザーに生成する可能性があります。このイベントは一度しか起こらないと私は理解していました。なぜそれが何回も発射されるのだろうか?それは私たちの登録された "url rewriting" HTTPModuleの結果ですか?一度しかイベントを発生させないようにアプリケーションを設定する方法はありますか?

答えて

1

通常のリソース要件(css/js/imgなど)の場合、IISは要求を直接処理します。これは、特定のファイル名(.aspxや.asmxなど)のasp_netワーカー要求にのみ渡されます。

HTTPModuleは基本的にすべての要求をワーカープロセスに転送するため、各要求はProfile_OnMigrateAnonymousを起動します。

Profile_OnMigrateAnonymousの呼び出しをバイパスすることはできませんが、.aspx/.ascxなどのファイル名を確認し、指定された実際のアクションのみを実行するコードを実装できます。

関連する問題