2

すべてのファイル タイプからの要求を処理するカスタム c# HttpModule を作成しています。簡単な概念実証として、Web 構成の httpModules セクションへの参照を追加してモジュールをセットアップし、デモ IIS Web サイトのアプリケーション拡張を aspnet_isapi.dll への参照とともに追加して、現在 ". htm」ファイル

ただし、「OnBeginRequest」イベント (以下のコード) に重要なコードがない場合でも、無限のリダイレクト ループが発生します。XP で IIS 5 を使用しています。

これまでのところ、私は ASPX ファイルで使用する HttpModule の例しか見ていませんが、どのファイル タイプに対しても設定できますか?

#region IHttpModule メンバー

        public void Dispose() { }

        public void Init(HttpApplication コンテキスト)
        {
            context.BeginRequest += 新しい EventHandler(OnBeginRequest);
        }

        ///
        ///
        ///
        ///
        public void OnBeginRequest(Object s, EventArgs e)
        {
            HttpApplication context = s as HttpApplication;

            Uri currentURL = context.Request.Url;
            文字列 pageName = currentURL.Segments.Last().ToLower();
        }
#endregion
4

1 に答える 1

1

わかった。問題は実際には HttpModule 自体にありました。

クライアントでレンダリングするには、HttpApplication コンテキストを使用する必要があるようです。

たとえば、すべてのカスタム ロジックを実行した後、コンテキストに書き込む必要があります。

context.Response.Write("/n/r");

//また

context.Response.Redirect("test.htm");

その後、すべてが期待どおりにレンダリングされます

于 2009-09-14T09:49:16.913 に答える