COM-Interop, der RPC-server ist nicht verfügbar in c#
Benutze ich eine COM-Interop-und ich bin der Instanziierung des COM-Objekt-Klasse von der interop-dll
So, paar mal das Objekt instanziiert ist, erfolgreich und remote procedure calls ohne problem, aber manchmal wirft er eine exception, wie RPC-Server ist unavilable.
Die COM-Komponente, die ich verwende, ist geschrieben in VB und ich bin verbraucht, die Komponente in c#.
So, kann mir jemand sagen, die möglichen Gründe für das problem(der RPC-Server ist nicht Verfügbar) und Lösungen für dieses problem.
Bin ich hilflos mit diesem Thema jetzt durch.
So, Vorab vielen Dank wenn Sie mir helfen können
Es ist also ein COM Out-Of-Process-server (.EXE), geschrieben in VB... was? VB.NET? VB6?
ist es anders .exe und das ist VB6
ist es anders .exe und das ist VB6
InformationsquelleAutor Yogesh Joshi | 2013-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach der überprüfung mein Ansatz für die COM-Implementierung, die ich den Fehler gefunden. Ich habe eine statische Klasse für die Initialisierung der COM-Instanz die Initialisierung und das Zeug statt in statischen Konstruktor. So, Initialisierung getan war, einmal pro Anwendungssitzung. In dem Fall, wenn der com-Instanz beschädigt oder entsorgt wird, dann macht aufrufen von COM-Methoden wirft exception (der RPC-Server ist nicht verfügbar).
Also verwendet habe ich folgenden Ansatz für die Bewältigung der Problem
wenn die Instanz von COM ist nicht in der Lage zu machen nennen, dann entsorgen Sie die Instanz, und initialisieren Sie den COM-und get-Instanz, dann tätigen Sie einen Anruf, um RPC-Server.
InformationsquelleAutor Yogesh Joshi