Condividi tramite


Modello di programmazione RDS in dettaglio

Di seguito sono riportati gli elementi chiave del modello di programmazione RDS:

  • RDS. DataSpace

  • RDSServer.DataFactory

  • RDS. DataControl

  • Evento

Importante

A partire da Windows 8 e Windows Server 2012, i componenti del server RDS non sono più inclusi nel sistema operativo Windows (vedere Windows 8 e Guida alla compatibilità di Windows Server 2012 per altri dettagli). I componenti client di Servizi Desktop remoto verranno rimossi in una versione futura di Windows. Evitare di usare questa funzionalità nel nuovo lavoro di sviluppo e pianificare la modifica delle applicazioni che attualmente usano questa funzionalità. Le applicazioni che usano Servizi Desktop remoto devono eseguire la migrazione a WCF Data Service.

RDS. DataSpace

L'applicazione client deve specificare il server e il programma server da richiamare. In cambio, l'applicazione riceve un riferimento al programma server e può trattare il riferimento come se fosse il programma server stesso.

Il modello a oggetti di Servizi Desktop remoto incorpora questa funzionalità con la Servizi Desktop remoto. Oggetto DataSpace.

Il programma server viene specificato con un identificatore di programma o ProgID. Il server usa il ProgID e il registro del computer server per individuare le informazioni sul programma effettivo da avviare.

Servizio Desktop Remoto fa una distinzione internamente a seconda che il programma server sia collocato su un server remoto attraverso Internet o un'intranet, su un server in una rete locale, oppure non su un server ma invece in una libreria di collegamento dinamico locale (DLL). Questa distinzione determina il modo in cui le informazioni vengono scambiate tra il client e il server e fanno una differenza tangibile nel tipo di riferimento restituito all'applicazione client. Tuttavia, dal vostro punto di vista, questa distinzione non ha un significato speciale. Tutto ciò che conta è che si riceve un riferimento al programma utilizzabile.

RDSServer.DataFactory

RDS fornisce un programma server predefinito in grado di eseguire una query SQL sull'origine dati e restituire un oggetto Recordset oppure prendere un oggetto Recordset e aggiornare l'origine dati.

Il modello a oggetti rds incorpora questa funzionalità con l'oggetto RDSServer.DataFactory.

Inoltre, questo oggetto dispone di un metodo per la creazione di un oggetto Recordset vuoto che è possibile riempire a livello di codice (CreateRecordset) e un altro metodo per convertire un oggetto Recordset in una stringa di testo per compilare una pagina Web (ConvertToString).

Con ADO, è possibile eseguire l'override di alcune delle connessioni standard e del comportamento dei comandi del RDSServer.DataFactory con un gestore DataFactory e un file di personalizzazione che contiene parametri di connessione, comando e sicurezza.

Il programma server viene talvolta chiamato oggetto business . È possibile scrivere un oggetto business personalizzato che può eseguire complesse verifiche di accesso ai dati, verifiche di validità e così via. Anche quando si scrive un oggetto business personalizzato, è possibile creare un'istanza di un oggetto RDSServer.DataFactory e usare alcuni dei relativi metodi per eseguire attività personalizzate.

RDS. DataControl

RDS fornisce un mezzo per combinare la funzionalità di RDS.DataSpace e RDSServer.DataFactory, oltre a consentire ai controlli visivi di utilizzare facilmente l'oggetto Recordset restituito da una query su un'origine dati. RDS tenta, nel caso più comune, di fare tutto il possibile per accedere automaticamente alle informazioni su un server e visualizzarle in un controllo visivo.

Il modello a oggetti di Servizi Desktop remoto incorpora questa funzionalità con la Servizi Desktop remoto. Oggetto DataControl.

RDS.DataControl ha due aspetti. Un aspetto riguarda l'origine dati. Se si imposta il comando e le informazioni di connessione utilizzando le proprietà Connect e SQL del RDS.DataControl, utilizzerà automaticamente il RDS.DataSpace per creare un riferimento all'oggetto predefinito RDSServer.DataFactory. Il RDSServer.DataFactory userà quindi il valore della proprietà Connect per connettersi all'origine dati, utilizzerà il valore della proprietà SQL per ottenere un Recordset dall'origine dati e restituirà l'oggetto Recordset al RDS.DataControl.

Il secondo aspetto riguarda la visualizzazione di recordset restituito informazioni in un controllo visivo. È possibile associare un controllo visivo al RDS.DataControl (in un processo denominato binding) e ottenere l'accesso alle informazioni nell'oggetto Recordset associato, mostrando i risultati delle query in una pagina web in Microsoft Internet Explorer. Ogni oggetto RDS.DataControl associa un oggetto Recordset, che rappresenta i risultati di una singola query, a uno o più controlli visivi, ad esempio una casella di testo, una casella combinata, un controllo griglia e così via. Potrebbero essere presenti più oggetti RDS.DataControl in ogni pagina. Ogni RDS.DataControl Oggetto può essere connesso a un'origine dati diversa e contenere i risultati di una query separata.

L'oggetto RDS.DataControl dispone anche di metodi specifici per lo spostamento, l'ordinamento e il filtro delle righe dell'oggetto Recordset associato. Questi metodi sono simili, ma non uguali ai metodi nell'oggetto Recordset ADO .

Avvenimenti

RDS supporta due dei propri eventi, che sono indipendenti dal modello di evento ADO. L'evento onReadyStateChange viene chiamato ogni volta che la proprietà RDS.DataControlReadyState cambia, notificando quando un'operazione asincrona è stata completata con successo, terminata, o si è verificato un errore. Il evento onError viene chiamato ogni volta che si verifica un errore, anche se l'errore si verifica durante un'operazione asincrona.

Nota

Microsoft Internet Explorer fornisce due eventi aggiuntivi per Remote Data Services: onDataSetChanged, che indica che il Recordset è funzionale ma sta ancora recuperando le righe, e onDataSetComplete, che indica che il Recordset ha terminato il recupero delle righe.

Vedere anche

Modello di Programmazione RDS con Oggetti
oggetto DataControl (RDS)
Oggetto DataFactory (RDSServer)
dell'oggetto DataSpace (RDS)
scenario RDS
Tutorial RDS
Uso e Sicurezza dei Servizi Desktop Remoto