日期:2014-05-19  浏览次数:20416 次

|M| |M| 第六贴 学习URL改写和相关知识 看了孟子E章给的方法,然后再幕白兄的改进 现在URL改写应该没有问题了 大家帮帮加一下注释
public   class   MyModule   :IHttpModule
{
        #region   IHttpModule   成员
        private   HttpApplication   Application;
        public   void   Dispose()
        {                
        }
        public   void   Init(HttpApplication   context)
        {
                this.Application   =   context;
                context.BeginRequest   +=   new   EventHandler(context_BeginRequest);
        }
        void   context_BeginRequest(object   sender,   EventArgs   e)
        {
                this.Application.Context.RewritePath( "default.aspx ");
        }
        #endregion
}
然后在web.config中加上
<httpModules>
<add   name= "MyModule "   type= "MyModule "   />
</httpModules>
-----------------------------------------
首先问一下在
web.config   添加的那段代码是什么意思
什么作用,在什么我们会用来这个

public   void   Init(HttpApplication   context)??
我好不容易有点理解
override   protected   void   OnInit(EventArgs   e)
{
        base.OnInit(e);
        this.Load   +=   new   System.EventHandler(MyLoad);      
}
这样是给页面添加Myload的过程
但现在的
public   void   Init(HttpApplication   context)??
为什么不是用
override   protected   void   OnInit(EventArgs   e)
{
        base.OnInit(e);
        this.Load   +=   new   ???     //这种形式而直接写他就会执行了
}

this.Application.Context.RewritePath( "default.aspx ");
和HttpContext.Current.RewritePath( "default.aspx ");
有什么样的区别

------解决方案--------------------
楼主分真多...
------解决方案--------------------
顶一下
------解决方案--------------------
呵呵 刚说了 楼主好刻苦!!
------解决方案--------------------
web.config注册一个httpModule

this.Load += new

要接收某个事件的类可以创建一个方法来接收该事件,然后向类事件自身添加该方法的一个委托。这个过程称为“订阅事件”。
若要订阅事件,接收器必须创建一个与事件具有相同类型的委托,并使用事件处理程序作为委托目标。然后,接收器必须使用加法赋值运算符 (+=) 将该委托添加到源对象的事件中。



------解决方案--------------------
楼主真是个有上进心的人.

关键还是分好多啊
------解决方案--------------------
分真多.
------解决方案--------------------
注册后就会把请求转给他处理.相当于拦截了.