2016-05-02 23 views
2

Ich versuche, das DCOM-Timeout für meine COM-Komponente zu ändern. This page und praktisch alle anderen Quellen im Internet sprechen von einer Registerkarte Transaktionen in Komponentendienste, wo ich das Timeout für meine bestimmte Komponente ändern konnte. Aber auf meiner Win10 x64-Installation wird diese Registerkarte nicht angezeigt; Unten ist ein Bild von dem, was ich für alle registrierten Komponenten sehe.Komponentendienste - Registerkarte Transaktionen fehlt. Wie man es zeigt?

Frage: Wie bekomme ich die Registerkarte "Transaktionen" angezeigt?

Transactions tab missing

+0

Hmm, unterstützen, gibt es keine so etwas wie ein "DCOM Timeout". Timeouts für Transaktionen sind eine Eigenschaft von COM +. Die Komponente muss so konfiguriert werden, dass sie zuerst die Transaktionsunterstützung verwendet. [Lesen Sie dies] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). –

+0

Ich suche nach einer konkreten Methode zur Konfiguration meiner Komponente, um Transaktionen zu verwenden. Alles, was ich finden kann, ist (1) Geschichten über Transaktionen und (2) Beispielcode, der auf bereits konfigurierten Komponenten funktioniert. Diese Seiten zum Beispiel: https://msdn.microsoft.com/en-us/library/windows/desktop/ms687663(v=vs.85).aspx und https://msdn.microsoft.com/en-us/ Bibliothek/Windows/Desktop/ms684367 (v = vs.85) .aspx. (Oder ich vermisse etwas?) – adigostin

+0

Die MSDN-Seite [ist hier] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms685959%28v=vs.85%29.aspx). Ob Sie das wirklich wollen, ist immer noch sehr schwer zu sehen. –

Antwort

1

Wahrscheinlich versuchen Sie eine Out-of-Process/EXE-basierten COM-Server zu konfigurieren. Diese unterstützen keine erweiterten COM + -Dienste wie Transaktionen, da sie immer als nicht konfigurierte Komponenten ausgeführt werden. Nur In-Process-/DLL-basierte Server können COM + -Dienste bereitstellen. Wenn Sie Transaktionen unterstützen möchten, haben Sie zwei Möglichkeiten:

  • Wechseln Sie zu einem DLL-basierten Server
  • Lassen Sie Ihre EXE-Server-Transaktionen über einen Proxy-Komponente
+0

Es ist in der Tat ein Remote-COM-Server. Mein "Root" -Problem ist das lange Timeout, wenn ich die Ethernet-Verbindung zum Remote-Computer verliere; COM-Anrufe kehren nach etwa einer Minute zurück. Ich brauche diese, um schneller zurückzukehren. Die Lösung dazu scheint mir transaktionsbasierte COM-Aufrufe zu sein, wobei das Transaktions-Timeout von mir auf wenige Sekunden konfiguriert ist. (Ich werde meine Frage mit diesen Informationen aktualisieren.) – adigostin

+0

Transaktionen werden in Kombination mit Datenbanken verwendet. Bist du sicher, dass du das suchst? Wenn Sie lieber ein benutzerdefiniertes Timeout für Ihren DCOM-Server angeben möchten, scheint dies nicht möglich zu sein. Siehe [hier] (https://stackoverflow.com/questions/2328551/why-determines-how-long-does-an-out-process-com-server-takes-to-notice-that) oder [hier ] (http://blog.matrikonopc.com/index.php/ask-the-experts-opc-questions-and-answers/8-what-is-the-minute-dcom-timeout/) für weitere Details. – Aurora