我这里要说的是ASP,没错,不是ASP.NET,我们所要做的是如何让ASP像ASP.NET那样访问.NET Framework的内置对象,首先我们需要安装.NET Framework环境,然后下一步呢?CreateObject创建对象?答对了一半,不过有一点要让你失望了,那就是大多数.NET Framework类对于ASP是无法访问的,别急,仍然有大量.NET 类实现了可调用 COM 接口,也就是说,我们可以像创建普通COM对象那样创建它们。
在具体操作前,不妨打开我们的注册表,定位到HKEY_CLASSES_ROOT,然后你就会发现有大量的.NET类的ProgId和CLSID,这样我们就可以通过这些特征信息来创建并使用这些对象。
在Microsoft TechNet的《您好,脚本专家!》栏目中介绍了如何在WScript脚本宿主中调用这些对象,比如System.Collections.ArrayList,我们现在可以除了Scripting.Dictionary外有了更多的选择,其中ArrayList的Sort排序等功能更是我们所垂涎的,比如脚本专家上的示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Set DataList = CreateObject _ ("System.Collections.ArrayList") DataList.Add "B" DataList.Add "C" DataList.Add "E" DataList.Add "D" DataList.Add "A" DataList.Sort() For Each strItem in DataList Wscript.Echo strItem Next Set DataList = Nothing |
我们可以很容易的就将其改成ASP版本的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <% Set DataList = Server.CreateObject _ ("System.Collections.ArrayList") DataList.Add "B" DataList.Add "C" DataList.Add "E" DataList.Add "D" DataList.Add "A" DataList.Sort() For Each strItem in DataList Response.Write strItem Next Set DataList = Nothing %> |
经过测试这样是可行的,怎么样,是不是很方便,关于ArrayList更多的使用方法可以参考MSDN的.NET Framework手册了,这样我们写ASP程序又多了一种更为强大的选择,不过我还是奉劝还在搞鼓ASP的程序员,该换换口味了,为何不试试更为强大的ASP.NET或者PHP呢?
小样儿,文章更新贼快~
@威言威语
文章是越来越微博化了,改天弄个长篇大论:-)
有意思!