自定义C#HttpModule无限重定向循环

我正在写一个自定义的c#HttpModule来处理来自所有文件类型的请求。 作为一个简单的概念证明,我已经通过添加对web配置的httpModules部分的引用来设置模块,并且为演示IIS网站添加了对aspnet_isapi.dll的引用的应用程序扩展,以便它目前仅拦截“。 htm“文件

但即使“OnBeginRequest”事件中没有重要代码(下面的代码),它也会导致无限重定向循环。 我在XP上使用IIS 5任何人有任何想法?

到目前为止,我只看到用于ASPX文件的HttpModule示例,但当然可以配置任何文件类型?

#region IHttpModule Members

        public void Dispose() { }

        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(OnBeginRequest);
        }

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

            Uri currentURL = context.Request.Url;
            string pageName = currentURL.Segments.Last().ToLower();
        }
#endregion

好。 问题实际上是在HttpModule本身。

看起来您必须使用HttpApplication上下文才能在客户端上呈现它。

例如,在执行完所有自定义逻辑之后,您需要写入上下文:

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

//or

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

然后,所有东西都按照您的预期呈现

链接地址: http://www.djcxy.com/p/7603.html

上一篇: Custom C# HttpModule Infinite Redirect Loop

下一篇: How can I modify a POST request using a custom IHttpModule and an HttpRequest filter?