Condividi tramite


Creare un'applicazione client/server DCOM tramite Visual Basic

Questo articolo descrive come creare, creare un pacchetto e distribuire un'applicazione client/server DCOM (Distributed Component Object Model) tramite Visual Basic.

Versione originale del prodotto: Visual Basic
Numero KB originale: 266717

Riepilogo

Questo articolo illustra come creare, creare un pacchetto e distribuire un'applicazione client/server DCOM usando Visual Basic. Per creare un'applicazione client/server DCOM, è necessario il edizione Enterprise di Visual Basic. Microsoft presuppone che il lettore abbia già familiarità con la creazione di applicazioni client/server eseguite nello stesso computer.

Ulteriori informazioni

Non è necessario modificare il codice per consentire a un'applicazione client di creare un'istanza di un server remoto tramite DCOM. La differenza è il modo in cui si crea il pacchetto e si distribuisce il client. Sono inoltre necessarie alcune impostazioni di sicurezza dopo l'installazione del client e del server. È possibile impostare queste impostazioni usando un'utilità denominata Dcomcnfg.

I passaggi seguenti illustrano come distribuire e configurare un'applicazione client/server. Assegnare al server il nome DCOMDemo_Svr e assegnare al client il nome DCOMDemo_Cli. Creare una cartella separata per ognuna di esse. Ai fini di questo articolo, chiamare queste cartelle c:\DCOMDemo\Server and c:\DCOMDemo\Client.

Creare il server

  1. Avviare un nuovo progetto Visual Basic. Nella finestra di dialogo Nuovo progetto selezionare ActiveX EXE e quindi fare clic su Apri. La classe 1 viene creata per impostazione predefinita.

  2. Aggiungere il codice seguente al modulo Class1:

    Public Function ServerTime() As String
        ServerTime = Time
    End Function
    
  3. Scegliere l'opzione Proprietà progetto dal menu Progetto e quindi selezionare la scheda Generale.

  4. Nel campo Nome progetto digitare DCOMDemo_Svr.

  5. Nel campo Descrizione progetto digitare DCOMDemo_Svr - Server. Selezionare l'opzione Esecuzione automatica.

    Note

    Questa opzione deve essere sempre archiviata nei server che non dispongono di interfaccia utente per garantire che nessuna finestra di dialogo di alcun tipo venga visualizzata durante l'esecuzione del server. Se si dispone di un tipo di interazione utente mentre il server è in esecuzione con un'identità che non è l'utente interattivo, il server potrebbe sembrare bloccarsi.

  6. Selezionare la scheda Componente e selezionare l'opzione File del server remoto.

    Note

    Se si seleziona questa opzione, il compilatore Visual Basic genera i file VBR e TLB necessari per la creazione di pacchetti delle applicazioni client che usano questo server. Questi file contengono voci del Registro di sistema che devono essere incluse nel computer client.

  7. Chiudere la finestra di dialogo Proprietà progetto.

  8. Scegliere Salva con nome dal menu File e quindi salvare il progetto in c:\DCOMDemo\Server folder.

  9. Scegliere Crea DCOMDemo_Svr dal menu File e compilare il server.

  10. Scegliere l'opzione Proprietà progetto dal menu Progetto e quindi selezionare la scheda Componente.

  11. Nella scheda Componente selezionare Compatibilità versione, selezionare l'opzione Compatibilità binaria e quindi rendere il file binario del progetto compatibile con il file eseguibile del server creato (DCOMDemo_Svr.exe). Selezionando questa opzione, si garantisce che tutti i GUID vengano mantenuti uguali se si ricompila il server.

Creare il client

  1. Nel menu File selezionare l'opzione Nuovo progetto, selezionare Standard EXE e quindi fare clic su OK. Form1 viene creato per impostazione predefinita.

  2. Scegliere l'opzione Proprietà progetto dal menu Progetto e quindi selezionare la scheda Generale.

  3. Nel campo Nome progetto digitare DCOMDemo_Cli.

  4. Nel campo Descrizione progetto digitare DCOMDemo_Cli Progetto - Client.

  5. Scegliere Riferimenti dal menu Progetto. Nell'elenco dei riferimenti disponibili selezionare DCOMDemo_Svr - Server.

  6. Posizionare un pulsante di comando in Form1 e modificare la didascalia del pulsante in Esegui.

  7. Inserire il codice seguente nell'evento click del pulsante:

    Dim MyObj As DCOMDemo_Svr.Class1
    
    On Error GoTo err1
    
    Set MyObj = CreateObject("DCOMDemo_Svr.Class1")
    MsgBox "Server Time=" & MyObj.ServerTime & " Client Time=" & Time
    
    Exit Sub
    err1:
    MsgBox "Connection failed: Error " & Err.Number & " - " & Err.Description
    
  8. Scegliere Salva con nome dal menu File e quindi salvare il progetto nella cartella c:\DCOMDemo\Clientdel client.

  9. Premere il tasto F5 per eseguire il client nell'IDE e testarlo.

  10. Scegliere Crea DCOMDemo_Cli dal menu File per compilare il client e quindi chiudere Visual Basic.

Creare un pacchetto del server

Usare la Creazione guidata pacchetto e distribuzione per creare un pacchetto del server per la distribuzione come di consueto. Il server viene creato un'istanza da un client remoto tramite DCOM. Durante la creazione del pacchetto per il server, viene visualizzata una finestra di dialogo in cui viene chiesto se questo server verrà usato come server di Automazione remota e se si desidera includere i file di supporto a questo scopo. È sufficiente fare clic sul pulsante No , perché DCOM non è Automazione remota. Automazione remota è una tecnologia precedente sostituita da DCOM.

Creare un pacchetto del client

Quando si crea il pacchetto del client, è necessario eseguire alcuni passaggi specifici, considerando che il server non viene eseguito nello stesso computer del client. Le modifiche apportate al pacchetto del client assicurano che sia installata solo la libreria dei tipi (file con estensione tlb) e che alcune voci aggiuntive del Registro di sistema siano incluse invece del file eseguibile del server, che non è necessario nel computer del client perché non verrà eseguito lì.

Creare un pacchetto del client attenendosi alla procedura seguente:

  1. Avviare Creazione guidata pacchetto e distribuzione e quindi selezionare il progetto del client.

  2. Fare clic sul pulsante Pacchetto . Nella finestra di dialogo Tipo di pacchetto selezionare Pacchetto di installazione standard e quindi fare clic su Avanti.

  3. Nella finestra di dialogo Cartella pacchetto selezionare la cartella in cui archiviare il pacchetto e quindi fare clic su Avanti. In questo caso, è c:\DCOMDemo\Client\Package.

    Note

    È possibile che venga visualizzata una finestra di dialogo che indica che non sono presenti informazioni sulle dipendenze per il server. Fare clic su OK perché il server non ha dipendenze.

    Dovrebbe essere visualizzata la finestra di dialogo File inclusi.

  4. Deselezionare il file eseguibile del server, DCOMDemo_Svr.exe, perché non si vuole distribuire il file eseguibile del server e quindi fare clic sul pulsante Aggiungi.

  5. Modificare la casella combinata File di tipo in File server remoti (*.vbr).

  6. Puntare alla cartella in cui è presente il progetto del server (in questo caso c:\DCOMDemo\Server) e selezionare il file VBR correlato, DCOMDemo_Svr.VBR. Fare clic su Apri e la finestra di dialogo Aggiungi file viene chiusa.

    Note

    Sono inclusi due file, DCOMDemo_Svr.VBR e DCOMDemo_Svr.TLB. Fare clic sul pulsante Avanti. Nella finestra di dialogo Server remoti è possibile definire il nome del computer (indirizzo net) in cui è in esecuzione il server. In genere si mantiene vuoto questo campo perché è possibile che non si sappia in anticipo dove verrà installato il server. Se lo si mantiene vuoto, viene richiesto di installarlo quando si installa il client. Per questo esempio, mantenerlo vuoto.

  7. Fare clic su Avanti per continuare. È ora possibile procedere con le procedure standard per la Creazione guidata pacchetti e distribuzione. In questo caso, è sufficiente fare clic su Avanti a tutte le finestre di dialogo rimanenti.

Installare il server

Installare il server nel computer in cui si desidera eseguirlo, usando il pacchetto di distribuzione creato in precedenza. Se si desidera utilizzare il computer di sviluppo per eseguire il server, non è necessario installarlo perché Visual Basic effettua automaticamente la registrazione durante la compilazione del server.

Installare il client

Installare il client nel computer in cui si vuole eseguirlo, usando il pacchetto di distribuzione creato in precedenza. Poiché questo client usa un server DCOM e si è lasciato vuoto il percorso effettivo del server quando è stato creato il pacchetto di distribuzione, è ora necessario specificare questo percorso. Quando il programma di installazione richiede questo percorso, specificare il nome del computer in cui è stato installato il server.

Impostare la sicurezza del server

Se il server è stato installato in un computer Windows NT o Windows 2000, è necessario configurarne la sicurezza. A tale scopo, usare Dcomcnfg, come illustrato nei passaggi seguenti, che presuppongono che i computer client e server facciano parte di un dominio e che l'utente abbia eseguito l'accesso al computer client come utente di dominio. Le impostazioni suggerite sono solo una possibile configurazione. Sono generici e offrono accesso ampio al server. Tenere presente che questo è solo un esempio. Quando si distribuiscono le applicazioni reali e la sicurezza è un problema per l'ambiente, è consigliabile selezionare opzioni più restrittive. Inoltre, se il computer usato per testare questo server di esempio viene usato per eseguire altri server, prendere nota delle impostazioni correnti prima di apportare le modifiche seguenti e tornare alle impostazioni originali non appena vengono eseguiti i test.

  1. Nel computer server fare clic sul pulsante Start e quindi selezionare Esegui. Nella finestra di dialogo Esegui digitare Dcomcnfg e quindi fare clic su OK. È necessario disporre dei diritti di amministratore per poter eseguire Dcomcnfg.
  2. Selezionare la scheda Proprietà predefinite e verificare che l'opzione Abilita COM distribuito nel computer sia selezionata.
  3. Impostare Default Authentication Level (Livello di autenticazione predefinito) su Connect (Connetti) e impostare Default Impersonation Level (Livello di rappresentazione predefinito) su Identify (Identifica).
  4. Selezionare la scheda Sicurezza predefinita.
  5. Fare clic sul pulsante Modifica predefinito nel pannello Autorizzazioni di accesso predefinite.
  6. Verificare che Tutti e sistema siano inclusi nell'elenco con diritti di accesso consentiti. In caso contrario, è possibile usare il pulsante Aggiungi per aggiungerli all'elenco. Al termine dell'elenco, fare clic su OK .
  7. Fare clic sul pulsante Modifica predefinito nel pannello Autorizzazioni di avvio predefinito.
  8. Verificare che Tutti e sistema siano inclusi nell'elenco con autorizzazioni Consenti avvio. In caso contrario, usare il pulsante Aggiungi per aggiungerli all'elenco. Al termine dell'elenco, fare clic su OK .
  9. Selezionare la scheda Applicazioni , evidenziare il server, DCOMDemo_Svr.Class1 e quindi fare clic sul pulsante Proprietà .
  10. Selezionare la scheda Generale, impostare Livello di autenticazione su Predefinito e quindi selezionare la scheda Posizione. L'unica opzione selezionata deve essere Esegui applicazione in questo computer.
  11. Selezionare la scheda Sicurezza e verificare che siano selezionate le opzioni Usa autorizzazioni di accesso predefinite e Usa autorizzazioni di avvio predefinite.
  12. Selezionare la scheda Identità , selezionare l'opzione di avvio dell'utente , fare clic su OK per chiudere la finestra di dialogo Proprietà server e quindi fare di nuovo clic su OK per chiudere Dcomcnfg. Come si può notare, il server di test usa tutte le impostazioni predefinite. Quando si distribuiscono server personalizzati, è necessario definire impostazioni specifiche per l'applicazione. Tutte le impostazioni personalizzate hanno la precedenza su quelle predefinite.

È ora possibile testare il server. Nel computer client avviare il client e quindi fare clic sul pulsante Esegui . Verrà visualizzata una finestra di messaggio che indica l'ora del server. Se non è possibile testare correttamente questo esempio, vedere l'articolo sulla risoluzione dei problemi, Q269330, elencato nella sezione "Riferimenti".