Condividi tramite


Scrittura di un gestore personalizzato

Si potrebbe voler scrivere un gestore personalizzato se si è un amministratore del server IIS che vuole il supporto RDS predefinito, ma un maggiore controllo sulle richieste degli utenti e sui diritti di accesso.

MSDFMAP.Handler implementa l'interfaccia IDataFactoryHandler.

Importante

A partire da Windows 8 e Windows Server 2012, i componenti del server di RDS non sono più inclusi nel sistema operativo Windows. Per altri dettagli, vedere la Guida di riferimento per la compatibilità di Windows 8 e Windows Server 2012. I componenti del client di RDS verranno rimossi in una versione futura di Windows. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Le applicazioni che usano RDS devono eseguire la migrazione a WCF Data Service.

Interfaccia IDataFactoryHandler

Questa interfaccia include due metodi, GetRecordset e Reconnect. Entrambi i metodi richiedono che la proprietà CursorLocation sia impostata su adUseClient.

Entrambi i metodi accettano argomenti inseriti dopo la prima virgola nella parola chiave "Handler=". Ad esempio, "Handler=progid,arg1,arg2;" passerà una stringa di argomento di "arg1,arg2" e "Handler=progid" passerà un argomento Null.

Metodo GetRecordset

Questo metodo esegue una query sull'origine dati e crea un nuovo oggetto Recordset usando gli argomenti forniti. L'oggetto Recordset deve essere aperto con adLockBatchOptimistic e non deve essere aperto in modo asincrono.

Argomenti

conn Stringa di connessione.

args Argomenti per il gestore.

query Testo del comando per eseguire una query.

ppRS Puntatore nel punto in cui deve essere restituito l'oggetto Recordset.

Metodo Reconnect

Questo metodo aggiorna l'origine dati. Crea un nuovo oggetto Connection e associa l'oggetto Recordset specificato.

Argomenti

conn Stringa di connessione.

args Argomenti per il gestore.

pRS Oggetto Recordset.

msdfhdl.idl

Si tratta della definizione dell'interfaccia per IDataFactoryHandler visualizzata nel file msdfhdl.idl.

[  
  uuid(D80DE8B3-0001-11d1-91E6-00C04FBBBFB3),  
  version(1.0)  
]  
library MSDFHDL  
{  
    importlib("stdole32.tlb");  
    importlib("stdole2.tlb");  
  
    // TLib : Microsoft ActiveX Data Objects 2.0 Library  
    // {00000200-0000-0010-8000-00AA006D2EA4}  
    #ifdef IMPLIB  
    importlib("implib\\x86\\release\\ado\\msado15.dll");  
    #else  
    importlib("msado20.dll");  
    #endif  
  
    [  
      odl,  
      uuid(D80DE8B5-0001-11d1-91E6-00C04FBBBFB3),  
      version(1.0)  
    ]  
    interface IDataFactoryHandler : IUnknown  
    {  
HRESULT _stdcall GetRecordset(  
      [in] BSTR conn,  
      [in] BSTR args,  
      [in] BSTR query,  
      [out, retval] _Recordset **ppRS);  
  
// DataFactory will use the ActiveConnection property  
// on the Recordset after calling Reconnect.  
   HRESULT _stdcall Reconnect(  
      [in] BSTR conn,  
      [in] BSTR args,  
      [in] _Recordset *pRS);  
    };  
};  

Vedi anche

Sezione sulla connessione del file di personalizzazione
Sezione Logs del file di personalizzazione
Sezione SQL del file di personalizzazione
Sezione UserList del file di personalizzazione
Personalizzazione di DataFactory
Impostazioni obbligatorie dei client
Informazioni sul file di personalizzazione