Creare un'applicazione client/server DCOM usando Visual Basic

Questo articolo descrive come creare, creare pacchetti 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 pacchetti 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 un pacchetto e si distribuisce il client. Inoltre, dopo l'installazione del client e del server sono necessarie alcune impostazioni di sicurezza. È possibile impostare queste impostazioni usando un'utilità denominata Dcomcnfg.

La procedura seguente illustra 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 ognuno di essi. Ai fini di questo articolo, chiamare queste cartelle c:\DCOMDemo\Server and c:\DCOMDemo\Client.

Creare il server

  1. Avviare un nuovo progetto di Visual Basic. Nella finestra di dialogo Nuovo progetto selezionare ActiveX EXE e quindi fare clic su Apri. Class1 viene creato 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 .

    Nota

    Questa opzione deve essere sempre selezionata nei server che non dispongono di interfaccia utente per assicurarsi che durante l'esecuzione del server non vengano visualizzate finestre di dialogo di alcun tipo. Se si dispone di qualsiasi tipo di interazione utente mentre il server è in esecuzione con un'identità che non è l'utente interattivo, il server potrebbe sembrare bloccato.

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

    Nota

    Se si seleziona questa opzione, il compilatore visual basic genera i file VBR e TLB necessari per creare 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. Nel menu File selezionare Salva con nome e quindi salvare il progetto in c:\DCOMDemo\Server folder.

  9. Nel menu File selezionare Make DCOMDemo_Svr (Crea DCOMDemo_Svr ) e compilare il server.

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

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

Creare il client

  1. Dal menu File selezionare l'opzione Nuovo progetto , selezionare EXE standard 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 l'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. Nel menu File selezionare Salva con nome 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. Nel menu File selezionare Rendi DCOMDemo_Cli per compilare il client e quindi chiudere Visual Basic.

Creare un pacchetto del server

Usare la Creazione guidata pacchetto e distribuzione per creare il pacchetto del server per la distribuzione come di consueto. Viene creata un'istanza del server da un client remoto tramite DCOM. Durante la creazione del pacchetto per il server, viene visualizzata una finestra di dialogo che chiede 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 che è stata 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 vengano incluse alcune voci aggiuntive del Registro di sistema anziché il file eseguibile del server, che non è necessario nel computer del client perché non verrà eseguito.

Creare un pacchetto del client seguendo questa procedura:

  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.

    Nota

    È 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 dispone di dipendenze.

    Si dovrebbe ora essere nella finestra di dialogo File inclusi.

  4. Deselezionare il file eseguibile del server, DCOMDemo_Svr.exe, perché non si vuole distribuire l'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 si ha 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.

    Nota

    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 questo campo viene mantenuto vuoto perché potrebbe non essere noto in anticipo dove verrà installato il server. Se lo si mantiene vuoto, viene richiesto quando si installa il client. Per questo esempio, tenerlo vuoto.

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

Installare il server

Installare il server nel computer in cui si vuole eseguirlo, usando il pacchetto di distribuzione creato in precedenza. Se si vuole usare il computer di sviluppo per eseguire il server, non è necessario installarlo perché Visual Basic esegue 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 il percorso effettivo del server è vuoto al momento della creazione del 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 configurare 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 connesso al computer client sia connesso come utente di dominio. Le impostazioni suggerite sono solo una configurazione possibile. Sono generiche e offrono un ampio accesso 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 Il livello di autenticazione predefinito su Connetti e il livello di rappresentazione predefinito su 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. Fare clic su OK al termine dell'elenco.
  7. Fare clic sul pulsante Modifica predefinito nel pannello Autorizzazioni di avvio predefinite .
  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. Fare clic su OK al termine dell'elenco.
  9. Selezionare la scheda Applicazioni , evidenziare il server, DCOMDemo_Svr.Class1, quindi fare clic sul pulsante Proprietà .
  10. Selezionare la scheda Generale , impostare Livello di autenticazione su Predefinito e quindi selezionare la scheda Percorso . L'unica opzione selezionata deve essere Esegui applicazione in questo computer.
  11. Selezionare la scheda Sicurezza e verificare che le opzioni Usa autorizzazioni di accesso predefinite e Usa autorizzazioni di avvio predefinite siano selezionate.
  12. Selezionare la scheda Identità , selezionare l'opzione utente di avvio , fare clic su OK per chiudere la finestra di dialogo Proprietà del 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 i propri server, è 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".