.NET Framework - Retrieving the COM class factory for component with CLSID...

Asked By dna808 on 21-Dec-07 02:03 AM
I've written a .NET class that needs to be used in an ASP page I've
done all the normal com-interop stuff but it keeps bombing out so I
tried putting the code in an ASPX page with a try catch to see if that
made a difference but when it gets to the line:-

testing = Server.CreateObject("TLDOTNETGDS.Galileo")

I get the following error:-

System.Runtime.InteropServices.COMException (0x80070775): Retrieving
the COM class factory for component with CLSID {79A7535C-2C47-410F-
A357-2CF63BBCF1EC} failed due to the following error: 80070775.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type,
Boolean publicOnly, Boolean noCheck, Boolean& canBeCached,
RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,
Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly,
Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at System.Web.HttpServerUtility.CreateObject(String progID)
at _Default.Page_Load(Object sender, EventArgs e) in C:\Documents
and Settings\Dhenry\My Documents\Visual Studio 2005\WebSites
\WebSite1\Default.aspx.vb:line 24

I've tried searching for the error on-line but I can only find




Aidy replied on 20-Dec-07 07:27 AM
Could you define "bombing out"?

Also post the structure of your .net class.  ie the class without the actual
code inside the functions, just the class definitions, function definitions
etc.
dna808 replied on 21-Dec-07 02:03 AM
old term means the same as crash the ASP page gives the error:-

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/Index.asp, line 959

Invalid class string


Imports Microsoft.VisualBasic
Imports System
Imports System.IO
Imports System.Net
Imports System.Configuration
Imports System.Xml
Imports System.Xml.XPath
Imports System.Runtime.InteropServices

ComHeader.INFID_GALILEO, ComHeader.EVEID_GALILEO)> _
Partial Public Class Galileo
Inherits com.cendant.copyws.XmlSelect

Public ReadOnly Property Requests() As String
Public ReadOnly Property Responses() As String

Public Property GlobalConn() As String

Public Property DepartureAirport() As String
Public Property DestinationAirport() As String
Public Property DepartureDate() As Date
Public Property ReturnDate() As Date
Public Property Airline() As String
Public Property Seats() As String
Public Property CabinClass() As String
Public Property JourneyType() As String
Public Property Duration() As Integer

Public Sub New()

Public Sub Initialise(ByVal Conn As String)

Public Sub Initialise(ByVal Username As String, _
ByVal Password As String, _
ByVal Profile As String, _
ByVal Url As String, _
ByVal Debug As String)

Public Sub ClearLogs()

Public Function SendXml(ByVal request As String) As XmlElement

Public Function SendXmlOnSession(ByVal request As String) As
XmlElement

Public Sub CloseSession()

Public Function SuperBBRequest() As XmlDocument

Public Function SuperBBSearch() As XmlDocument

Public Function FareSearch() As XmlDocument

Public Function GetFareRules(ByVal strLineNumber As String) As
XmlDocument

Public Function AirAvailability() As XmlDocument
End Class
Aidy replied on 20-Dec-07 10:22 AM
Two things.  First have you registered the component using regasm?

http://msdn2.microsoft.com/en-us/library/ms753058.aspx

Secondly, I don't think you'll get your functions that return things like
XmlElement etc working as there is no COM equivalent for the recipient code
to use.  Things like int, string etc will be mapped from .net to COM for
you, but complex structures aren't possible.