如何使用.NET创建COM对象以从经典ASP页面使用它

如何使用.NET创建COM对象以从经典ASP页面使用它,.net,asp-classic,com,.net,Asp Classic,Com,我有一个使用VB6 COM对象的经典ASP网站 我想使用.NET而不是VB6创建COM对象的新版本。[01] 以管理员身份启动Visual Studio 2015 创建一个新的类库项目 命名:网络公司 [02] 添加新的COM类项 命名:HelloCOM.vb [03] 向HelloCOM.vb添加公共函数 例如: Public Function Hello() As String Return "Hello there!" End Function [04] 打开MyProject

我有一个使用VB6 COM对象的经典ASP网站

我想使用.NET而不是VB6创建COM对象的新版本。

[01]

以管理员身份启动Visual Studio 2015

创建一个新的类库项目

命名:网络公司

[02]

添加新的COM类项

命名:HelloCOM.vb

[03]

向HelloCOM.vb添加公共函数

例如:

Public Function Hello() As String
    Return "Hello there!"
End Function
[04]

打开MyProject

去编译

选择目标CPU:x86

[05]

构建DotNetCom.dll

[06]

启动组件服务

添加新的COM+应用程序

命名为:网络公司

[07]

打开DotNetCom属性

转到“安全”选项卡

取消选中此应用程序的强制访问检查

[08]

添加一个新组件

选择DotNetComTest.tlb不要选择DotNetComTest.dll

[09]

使用经典ASP页面中的COM对象

<%
Dim HelloCOM
Set HelloCOM = Server.CreateObject("DotNetCom.HelloCOM")
Response.Write HelloCom.Hello
%>

此方法的可能副本比您引用的方法简单得多。记住一个问题总是有不止一个解决方案。@Mystico,这个问题是重复的。你的答案可能不是。你为什么不在这个问题上发表你的方法呢?这样每个人都能从你的选择中受益。这就是为什么我们关闭重复的问题。我刚才做了,现在我将删除这个问题。谢谢您不需要在组件服务中注册COM对象,除非您的.NET对象需要直接访问ASP内在对象响应、请求等,或者您碰巧需要COM+服务,如事务。如果确实需要IIS对象,则必须选择组件服务中的所有对象,右键单击“属性”、“高级”,然后选中“允许IIS内部属性”复选框。