那样你的工程就不需要依赖ASAX了。
这样可以防止多个web工程因为依赖global.asxa而产生的冲突.

解决方案 »

  1.   

    怎么会冲突呢?每个web应用程序都有自己的ASAX的
      

  2.   

    好。。
    那么你的客户有一个Web系统。(那个系统不是你做的。)
    现在客户要求你做一个系统,来对那个系统每页的访问情况做个统计。
    那么你该怎么做?
      

  3.   

    我理解你的意思是这样的:
    就是用HttpModule可以在原有的web外面加一个壳,先拦截到这个web的请求,做一些你需要的工作,这样就可以即不要去动原有的系统,又可以达到你的目的。
    我的看法是,这样做一个HttpModule,生成一个dll,然后要改原来系统的web.config来注册这个HttpModule。
    再看用global.asax的方法,我觉得同样可以做一个完成跟HttpModule同样功能的模块,只是其中只有完成功能的方法,不用事件注册,然后在global.asax事件的调用这些方法。
    我觉得第二种方法,并比第一种方法显得复杂,同样也挺简洁的。
      

  4.   

    。。
    如果你要把那功能拆掉呢?又去改global.asax的代码?
    这样好麻烦。
      

  5.   

    如果是HttpModule的方案,把web.config里的设置注释掉就好了。
    多轻松啊。~
      

  6.   

    如果你要把那功能拆掉,在global.asax中同样可以注释掉的
      

  7.   

    其实我觉得HttpModule的也瞒好的,当我们给每个页面设置权限管理的时候,我想HttpModule是一个非常好的东西。我们不用在每个页面里写访问权限的判定了!如果要改的话我们只重新编译HttpModule就可以了!
    而global.asax更改的话我们就必须重新编译整个工程了。不过在微软的best practices也曾经提到过HttpModule,在我不用HttpModule的时候一定要及时将它清除倒因为他很浪费资源的。
      

  8.   

    to楼上:>>global.asax更改的话我们就必须重新编译整个工程了这个是不恰当的。
    global.asax所引用的类也可以编译成单独的Assembly.