2009-08-26 6 views
0

Ich verwende eine Drittanbieter-Datenbank. Eine Hostanwendung führt die Datenbank aus und ermöglicht Clientanwendungen, über COM eine Verbindung zur Serveranwendung herzustellen. Ich verwende Windows 2003 Server und schreibe meinen gesamten Code in C#.Cross User COM Interop

Auf dem Server logge ich mich als UserA, und bin in der Lage, die Host-Anwendung lokal zu starten, und führen Sie dann eine Client-App, die ich geschrieben habe, die gut verbindet.

Wenn ich als BenutzerA angemeldet bin und die Host-App ausgeführt habe, melde ich mich gleichzeitig als BenutzerB über den Remote-Desktop an und starte die Client-Anwendung nur aus der Anmeldung von Benutzer B und erwarte, dass sie sich mit dem laufenden Host-Prozess auf dem Desktop von Benutzer A verbindet . Es kann keine Verbindung hergestellt werden.

Gibt es irgendwelche Tricks, um COM-Zugriff über Benutzeranmeldungen auf demselben Computer zu ermöglichen?

Ich kann nicht mehr als eine Kopie des Host-Prozesses ausführen, oder ich würde das natürlich tun.

Antwort

1

Öffnen Sie Komponentendienste (ich bin nicht sicher, wo dies für Server 2003 ist, aber wahrscheinlich unter Verwaltungstools).

Erweitern Sie zu Komponentendienste-> Arbeitsplatz-> DCOM-Konfiguration.

Suchen Sie die Anwendung, mit der Sie eine Verbindung herstellen möchten, klicken Sie mit der rechten Maustaste und gehen Sie zu den Eigenschaften. Unter Sicherheit sollten Sie die Berechtigung zum Starten, Aktivieren und Zugreifen festlegen können.

Sie müssen auf das Optionsfeld Anpassen klicken, bevor Sie die Berechtigungen bearbeiten können. Sie müssen alle Benutzer hinzufügen, die Sie starten und aktivieren möchten, sowie Access.

Verwandte Themen