From: http://ask.qqb.com.cn/Article/Article_3988.html
web.config:
ms-help://MS.VSCC/MS.MSDNVS.2052/cpgenref/html/gngrfnetframeworkconfigurationfileschema.htm
global.asax:
ms-help://MS.VSCC/MS.MSDNVS.2052/cpgenref/html/cpconglobalasaxsyntax.htm
global.asax:是对 asp文件中global.asa的代替,它可以使我们执行asp.net应用程序一层事件的代码,如:application_start等,使你可以在这些事件中作一些自定义的处理;也可以定义应用程序一层的变量,如:Session等,这在整个asp.net应用程序中起作用。
web.config:对整个应用程序作一些配置,如:安全设置、语言等,可以覆盖machine.config的设置。
比如在我的工程中,我将一些在整个应用程序中起作用的变量放在global.asax.cs中的:application_start()中,如:Application["ourstr"]="aaa";,那么它在整个应用程序中起作用,是所有用户共享的变量,每一个用户对它的操作所有用户可见。将一些对每一个会话起作用的变量放在Session_Start()中,如:Sessin["mystr"]="bbb";这样对每个用户来说(其实是每个会话,也就是打开一个IE界面),它都拥有一个独立的变量,对它的操作只对每个用户起作用,对其它会话是不可见的。当然,在上述这些事件中,还可以做一些其它事情。
web.config能做什么呢,比如:可以在里面设置编码方式是"utf-8"还是"gb2312",可以设置安全选项,是用form验证还是集成widnow验证,是否使用cookie(cookieless="true|false"),也可以再里头定义一些全局常量,如数据库连接字符串等。这些配置对整个应用程序,也就是所有用户受影响,如:设了cookieless="true",而用户的cookie又禁止,那么,在global.asax中设的Session变量就无法在同一个会话的各个页面共享了。
诸如止类,详细的还是要看msdn啊。