• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 258
  • Last Modified:

Use a VB.NET class from a classic ASP page

I am trying to create a very simple VB.net Class Library, compile it into a dll, and use its function in an asp page. I am following the following examples:
http://weblogs.asp.net/dneimke/archive/2004/01/31/65330.aspx
http://www.codeproject.com/useritems/dotnetcomponentandasp.asp

MY PROBLEMS:
1) I cannot see it in my registry after compiling and running RegASM /tlb /codebase
2) My asp page code gives an error:
Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid class string
/sar/test.asp, line 7

MY VB CLASS CODE: (Project - MyClass)
Imports System.EnterpriseServices
Imports System.Runtime.InteropServices
Public Class Class1
Public Function Print(ByRef Text As String) As String
Return Text
End Function
End Class

MY ASP PAGE CODE:
Dim Obj
Set Obj = Server.CreateObject("MyClass.Class1")
Response.write Obj.Print("Jeremy")

ASSEMBLY CODE: (AssemblyInfo.vb)
Imports System
Imports System.Reflection
Imports System.EnterpriseServices
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("MyClass")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("MyClass")>
<Assembly: AssemblyCopyright("Copyright ©  2007")>
<Assembly: AssemblyTrademark("")>
<Assembly: AssemblyKeyFile("C:\MyClass.snk")>
<Assembly: ComVisible(False)>
<Assembly: ApplicationName("MyClass")>
<Assembly: ApplicationActivation(ActivationOption.Server)>
<Assembly: ApplicationAccessControl(False, AccessChecksLevel:=AccessChecksLevelOption.ApplicationComponent)>

I have created a strong name for this build.

Can someone please help?
0
jpbivona
Asked:
jpbivona
1 Solution
 
grayeCommented:
Those articles missed a step...   They didn't assign a GUID to the exposed method

The concept of calling a .Net assembly from a classic ASP page is called a "COM Callable Wrapper" (CCW).   There are dozens of good examples out there on the interent.

Here is one of the better ones:  http://www.codeproject.com/dotnet/nettocom.asp
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now