DCOM-Beispiel: Ruft COM-Objekten in Windows-Dienst aus mehreren Clients
Das DCOM-Beispiel veranschaulicht, wie ein COM-Objekt in einer Windows-Dienst von mehreren, auf verschiedenen Computern laufenden Clients aus implementiert aufgerufen. Es besteht aus mehreren Teilen:
DrawServ Der Windows-Dienst, der das COM-Objekt implementiert.
ATLDraw Der Client, der die dem COM-Objekt von DrawServ herstellt.
DrawCtl Eine Steuerelementversion von ATLDraw. Verfügt über ein verbinden-Methode (, einen Computer namens Zeichenfolgenparameter annimmt), eine Disconnect-Methode und eine Clear-Methode.
MFCCont Ein MFC-Container für DrawCtl. Geben Sie den Namen des Servers ohne Anführungszeichen oder Schrägstriche (möglicherweise remote).
ATLCont Ein ATL-Container für DrawCtl. Geben Sie den Namen des Servers ohne Anführungszeichen oder Schrägstriche (möglicherweise remote).
Alle Computer müssen Windows 2000 oder höher für dieses Beispiel funktioniert, ausgeführt werden.
Vergleichen Sie dieses Beispiel mit ATL DCOM Beispiel.
![]() |
---|
Dieser Beispielcode soll ein Konzept veranschaulichen, und es wird nur den Code, der für dieses Konzept relevant sind. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "Wie besehen"keine Garantien. |
So erhalten Sie Beispiele und Anweisungen für deren Installation:
Um Beispiele von Visual Studio zuzugreifen
im Menü Hilfe Menü klicken Beispiele.
Standardmäßig sind die Beispiele in installiert. Laufwerk: \Programme\Microsoft visual Studio 10.0\Samples\.
- Die neueste Version dieses Beispiels und eine Liste der anderen Beispiele finden Sie unter Visual Studio Samples auf der MSDN-Website.
Erstellen und Ausführen des Beispiels
So erstellen und in diesem Beispiel führen
Öffnen Sie die Projektmappe dcom.sln.
Erstellen Sie die Beispielen DrawServ und ATLDraw.
Kopieren Sie DrawServ.exe und ATLDraw.exe auf jeden Computer, die Sie das Beispiel aus ausführen möchten. Registrieren Sie den Server auf jedem Computer, indem Sie DrawServ mit dem Befehlszeilenargument/RegServer oder -RegServer (ohne Berücksichtigung von Groß-und Kleinschreibung) ausführen. Beispiel:
DrawServ /RegServer
(Register.dll muss dazu registriert werden.) Der Grund dafür müssen Sie den Server für jeden Client kopiert ist, dass die CLSID für den Server und der Server-Typ-Bibliothek müssen auf dem Client registriert werden.
Starten Sie den Dienst auf dem Server mithilfe des Symbols Dienste in der Systemsteuerung.
Wählen Sie DCOMCNFG auf jedem Client mithilfe die Eigenschaften der DrawServ-Klasse aus. Der Registerkarte Standort Anwendung ausführen, auf die folgenden Computer Wählen Sie, und geben Sie den Namen des Computers auf dem das Serverobjekt ausgeführt wird. Deaktivieren Sie die ausführen-Anwendung auf das Kontrollkästchen .
Führen Sie ATLDraw, und wählen Sie Server. Verbinden Sie mit dem Menü auf jedem Client. Zeichnen Sie auf das Clientfenster, indem Sie die linke Maustaste gedrückt halten und eine Linie ziehen. Die gezeichnete Linie sollte auf jedem Client angezeigt werden, die auch mit dem gleichen Server verbunden ist. Ansicht im Menü Color Befehl können auch die Farbe für jeden Client ändern.
Wenn Verbindung mit einem remote Server (z. B. wenn tstcon32.exe nicht CoInitializeSecurity aufruft) Problem aufgetreten ist, führen Sie DCOMCNFG auf dem Client, und öffnen Sie der Registerkarte Standardeigenschaften. So Standardauthentifizierung Levelkeine und Standard-Impersonation Levelanonyme.
Siehe auch
Aufgaben
DCOM-Beispiel: Veranschaulicht, Remote Aufrufen eines COM-Objekts
Referenz
COM-Unterstützung des Compilers