Logo

C#使用IHttpModule接口修改http输出的方法浅谈

photo

2023年10月18日

一、但你每次请求浏览一个页面,比如Login.aspx的时候,都会执行配置文件中system.webserver内的model这个节点的东西(这个是属于遍历的逻辑执行,会将model这个节点的东西全部执行完才执行其他东西)

二、当model这个节点内存在自己定义要先执行的类,如

   <modules>
      <add name="Web.Core" type="Web.Core.UrlRewrite,Web.Core" />
    </modules>

这会执行这个类。

但是若在这个类中有context.Response.End();这个者浏览器请求的时候不会返回页面,因为在这里终止了,代码如下:浏览器只会返回aaa,而不会返回当前请求的页面

//修改http输出先建个类这个类作为模块mould就要实现接口
namespace Web.Core
{
   //实现接口
    public class UrlRewrite : IHttpModule
    {
    //点击实现接口就会出来以下对应的属性和一个方法
        public void Dispose() //处理属性
        {
           
        }

        public void Init(HttpApplication context)
        {
       //当应用开始请求时,beginRequest是一个事件用委托定义事件
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }
     //定义个下面要用的当前请求对象变量初值为null
        HttpContext context;
        void context_BeginRequest(object sender, EventArgs e)    //事件的处理方法
        {
            HttpApplication app = (HttpApplication)sender;
       //给当前请求context赋值,Context获取当前请求的Http特定信息
            context = app.Context;
            context.Response.Write("aaa");
            context.Response.End();
        }

    }
}

 

三、若没有在modules节点的类中写context.Response.End();,则会向下执行handlers这个节点,然后返回你所请求的方法

 

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

1.什么是组件化开发?组件化开发是一种软件开发的方法论,旨在通过将复杂的系统分解为独立的、可重用...在HTML页面中引入vue组件

热门文章

Adobe Acrobat Pro 激活 这里记录了一些AdobeAcrobat的激活教程和组件。浏览量:1,987 作者:Pastore Antonio
1830 浏览量
“sudo: apt-get:找不到命令”的解决方法 Linux系统:CentOS7原因分析:这是由于CentOS的软件安装工具不是apt-get,而是...“sudo:apt-get:找不到命令”的解决方法 作者:Pastore Antonio
1540 浏览量
一个不可思议的一天 上周五可以说是我人生中的梦魇……因为时间没安排好,为了一个10几分钟的会议,打的花了100多。然...一个不可思议的一天 作者:Pastore Antonio
1531 浏览量
Win10中使用cmd命令快速安装telnet服务 Win10中不能够使用Telnet的主要原因是由于系统默认情况下是没有安装telnet服务的,所以我...Win10中使用cmd命令快速安装telnet服务 作者:Pastore Antonio
1524 浏览量
Windows Server IIS+ARR反向代理(配置反向代理服务器) 1.概念说明:反向代理反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相...WindowsServerIIS+ARR反向代理(配置反向代理服务器) 作者:Pastore Antonio
1518 浏览量