Vbscript 从经典ASP.NET调用COM对象

Vbscript 从经典ASP.NET调用COM对象,vbscript,asp-classic,com,Vbscript,Asp Classic,Com,如何从经典ASP调用COM对象?我很努力,但找不到好的教程。有什么建议吗 我在经典ASP中使用C#。在经典ASP中实例化COM对象: Dim rs Set rs = Server.CreateObject("ADODB.Recordset") COM对象(在注册表中)是用一个名为ProgId的名称注册的,在上面的代码段中是(“ADODB.Recordset”) 这里有一个教程: 更新,回应海报评论:如果您正在创建.NET程序集,则需要在其上运行以创建必要的信息,以允许COM客户端创建.NET

如何从经典ASP调用COM对象?我很努力,但找不到好的教程。有什么建议吗


我在经典ASP中使用C#。

在经典ASP中实例化COM对象:

Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
COM对象(在注册表中)是用一个名为ProgId的名称注册的,在上面的代码段中是(“ADODB.Recordset”)

这里有一个教程:

更新,回应海报评论:如果您正在创建.NET程序集,则需要在其上运行以创建必要的信息,以允许COM客户端创建.NET Framework类

regasm.exe工具通过读取类的声明来工作,特别是类级属性GuidAttribute和ProgID,如下所示:

using System.Runtime.InteropServices;

[GuidAttribute("581C28BD-E701-4AC1-BD75-0979BCEEC91E"),
ProgId("WordAddin1.Connect")]
public class Connect : Object, Extensibility.IDTExtensibility2
{

}

要在经典ASP中实例化COM对象,请执行以下操作:

Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
COM对象(在注册表中)是用一个名为ProgId的名称注册的,在上面的代码段中是(“ADODB.Recordset”)

这里有一个教程:

更新,回应海报评论:如果您正在创建.NET程序集,则需要在其上运行以创建必要的信息,以允许COM客户端创建.NET Framework类

regasm.exe工具通过读取类的声明来工作,特别是类级属性GuidAttribute和ProgID,如下所示:

using System.Runtime.InteropServices;

[GuidAttribute("581C28BD-E701-4AC1-BD75-0979BCEEC91E"),
ProgId("WordAddin1.Connect")]
public class Connect : Object, Extensibility.IDTExtensibility2
{

}

如果您使用的是JavaScript:

var obj = new ActiveXObject("Some.Object")
例如,请参见本页:

这假设“Some.Object”已注册为COM对象(例如,使用“regsvr32/register SomeObject.dll”)

为了进一步阅读,奥雷利在这本书上有一本不错的书,你可以考虑阅读这个章节:

或本教程:


如果您使用的是JavaScript:

var obj = new ActiveXObject("Some.Object")
例如,请参见本页:

这假设“Some.Object”已注册为COM对象(例如,使用“regsvr32/register SomeObject.dll”)

为了进一步阅读,奥雷利在这本书上有一本不错的书,你可以考虑阅读这个章节:

或本教程:


您不能将C#与经典ASP一起使用;它不支持它!我正在维护一些遗留代码,可能我打错了名字,因为我认为语法相似。:-)你如何命名这种编程语言,仅仅称之为经典ASP?IIRC,经典ASP有两种语言引擎:VBScript和JavaScript。您始终在页面顶部指定要使用的选项:。。。默认值为VBSCript,但可以通过IIS更改虚拟目录或站点的默认值。是的,如果我未分配任何脚本,则应为VBSCript?那么我使用的是VBScript。你不能将C#与经典ASP;它不支持它!我正在维护一些遗留代码,可能我打错了名字,因为我认为语法相似。:-)你如何命名这种编程语言,仅仅称之为经典ASP?IIRC,经典ASP有两种语言引擎:VBScript和JavaScript。您始终在页面顶部指定要使用的选项:。。。默认值为VBSCript,但可以通过IIS更改虚拟目录或站点的默认值。是的,如果我未分配任何脚本,则应为VBSCript?然后我使用VBScript。谢谢Mitch,我调用的是一些定制的第三方COM对象,而不是.Net内置对象。我也是这个主题的初学者,我想读几页长的教程,让我了解全局。有推荐的阅读资料吗?严格来说.NET没有任何“内置”COM对象(但它确实提供了一些包装)。谢谢Mitch,我正在使用C#编写COM对象,让经典ASP调用它。关于如何使用C#创建COM对象的方法可以在这里找到=>在这个方法中,我认为没有progid,只有一个typelib?我需要生成一个额外的progid?谢谢Mitch,我正在调用一些定制的第三方COM对象,而不是.Net内置对象。我也是这个主题的初学者,我想读几页长的教程,让我了解全局。有推荐的阅读资料吗?严格来说.NET没有任何“内置”COM对象(但它确实提供了一些包装)。谢谢Mitch,我正在使用C#编写COM对象,让经典ASP调用它。关于如何使用C#创建COM对象的方法可以在这里找到=>在这个方法中,我认为没有progid,只有一个typelib?我需要生成一个额外的progid?对不起,我正在使用VBScirpt。我浏览了这些教程,似乎所有的教程都在处理Javascript或者如何通过经典ASP创建COM对象?我要问的是如何从经典ASP调用COM对象。有什么推荐的阅读资料吗?试着从MSDN站点的这里开始:浏览一下其余的文档。对不起,我使用的是VBScirpt。我浏览了这些教程,似乎所有的教程都在处理Javascript或者如何通过经典ASP创建COM对象?我要问的是如何从经典ASP调用COM对象。有什么推荐的阅读资料吗?试着从MSDN网站上的这里开始:浏览一下其余的文档。