ope*_*sas 4 com instantiation createobject asp-classic
根据
http://msdn.microsoft.com/en-us/library/ms524620.aspx
你应该使用server.createObject
如果您已熟悉VBScript或JScript,请注意您不使用脚本语言的函数来创建新的对象实例(VBScript中的CreateObject或JScript中的New).您必须使用ASP Server.CreateObject方法; 否则,ASP无法跟踪您在脚本中使用该对象的情况.
但是其他一些人认为server.createObject意味着可以避免大部分时间的开销
http://classicasp.aspfaq.com/components/should-i-use-createobject-or-server-createobject.html
CreateObject比Server.CreateObject具有更少的开销,因为后者使用MTS - 导致显着的开销.
当组件遇到错误时,您也会遇到性能命中,因为使用Server.CreateObject时,这些错误会写入事件日志(无可否认,这在调试过程中非常有用).
要么
http://www.4guysfromrolla.com/webtech/043099-1.shtml
如果您正在编写处理事务的组件,这可能会变得很重要,因为它将是一个通过MTS传递它的良好安全网,因为您将使用MTS命令.但是,如果您不使用MTS,则可以通过将其传递给Server.CreateObject来创建处理器和内存.这使得使用CreateObject更好,因为它直接通过.
所以,如果我不使用mts并且不需要访问内置的asp的对象(比如set d = createObject("scripting.dictionary")),那么忘记server.createObject并使用createobject就可以了吗?
非常感谢...
你引用的那些文章有点过时了.由于使用直连的Windows 2000及以上版本的IIS 5和COM + CreateObject几乎与使用相同Server.CreateObject.
MTS/COM +的行为CreateObject或者Server.CreateObject现在都是相同的,这部分是由于ASP本身作为COM +应用程序运行的事实.您可以指定ASP页面启动事务,然后使用CreateObject实现IObjectContext的任何对象将被邀请加入事务等.
我所知道的唯一真正的区别是遗留的东西,其中创建的COM对象可能具有OnStartPage和OnEndPage方法.Server.CreateObject在创建对象时以及在释放对象之前调用使用这些方法.这不会发生CreateObject.