当machine.config或web.config这样的文件被改变时,ASP.NET可以通过监听操作系统所提供的文件改变通知事件探测到。如果探测到了一个改变,例如machine.config的更新,ASP.NET就创建一个新的Application Domain来为新请求服务。而以前的Application Domain在完成了对重要请求的服务时,就作废了。那么要应用配置设置,就不再像ASP中那样需要终止和启动的IIS了。而通过使用Application Domain,ASP.NET配置的改变可以马上在进行处理。
PHP主要以三种方式来进行扩展:外部模块,内建模块和Zend引擎。外部模块可以在脚本运行时使用dl函数载入。这个函数从磁盘载入一个共享对象并将它的功能与调用该函数的脚本进行绑定并使之生效。脚本终止后,这个外部模块将在内存中被丢弃。这种方式有利有弊。
优点是:外部模块不需要重新对PHP进行编译。PHP通过外包方式来让自身的体积保持很小;缺点是:共享对象在每次脚本调用时都需要对其进行加载,速度较慢。附加的外部模块文件会让磁盘变得比较散乱。每个想使用该模块功能的脚本都必须使用dl函数手动加载,或者在PHP.INI文件中添加一些扩展标签(这并不总是一个恰当的解决方案)。