Fehlerbehebung com -Objektinitialisierung in C# ServeranwendungC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Fehlerbehebung com -Objektinitialisierung in C# Serveranwendung

Post by Anonymous »

Ich habe eine Serveranwendung mit C# entwickelt, die in ein COM -Objekt integriert wird, das von einer externen Quelle bereitgestellt wird. Hier ist ein hochrangiger Überblick über die Anwendung und das Problem, auf das ich begegnet bin:
Die Anwendung erstellt eine Instanz des COM-Objekts mit Active.Createinstance . Die Komplette wurde von einem externen Anbieter geliefert, und ich integriere sie in meine Serviceanwendung, um mit der Datenbank zu interagieren. Insbesondere verwendet die Anwendung die von der COM -Schnittstelle bereitgestellten Methoden, um Daten in die Datenbank einzufügen. Nachdem ich jedoch die Anwendung im Release -Modus erstellt und auf dem Server bereitgestellt und auf dem Server bereitgestellt habe, erhalte ich die folgende Ausnahme, wenn ich versuche, die Instanz des COM -Objekts zu erstellen:

Code: Select all

COM error initializing HITWorkOrders (HRESULT: -2146768289):
Retrieving the COM class factory for component with CLSID {F6A3408C-5652-45A9-AF4B-9109A39FC8A1} failed due to the following error: 800aea5f. Exception from HRESULT: 0x800AEA5F.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
Fehlerbehebung von Schritten durchgeführt:

Konfiguration erstellen: Die Anwendung wird mit der x86 -Zielplattform erstellt, um der COM -Objekt -Architektur des COM -Objekts zu entsprechen. /> com+ Anwendung: Erstellt eine neue COM+ -Anwendung auf dem Server, erteilte die erforderlichen Berechtigungen und importierte das COM -Objekt sowohl als A ** Bibliotheksanwendung als auch eine Serveranwendung, um verschiedene Konfigurationen zu testen. Die Anwendung nicht als 32-Bit -Prozess zu erkennen und folglich nicht auf die richtigen 32-Bit-Registrierungseinträge oder COM-Umgebungen zuzugreifen. Ich bin mir jedoch sicher, wie ich den Server explizit zwingen kann, dies als 32-Bit-Anwendung zu behandeln und sicherzustellen, dass er auf die 32-Bit-Registrierungsschlüssel zugreift. Insbesondere würde ich die Anleitung zu: < /p>

zwingen, den Server zu zwingen, dies als 32-Bit-Anwendung zu behandeln (möglicherweise durch Ändern von IIS oder anderen Einstellungen, falls relevant). Unterstützung.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post