Condividi tramite


Panoramica del modello di servizio WCF con l'adapter SQL

L'adapter Microsoft BizTalk per SQL Server espone un'operazione di SQL Server come servizio WCF. Per eseguire operazioni su SQL Server artefatti, ad esempio per richiamare una stored procedure, si richiama un'operazione sull'adattatore, che, a sua volta, esegue l'operazione sul SQL Server. Il codice funge quindi da client al servizio WCF presentato dall'adapter.

Nel modello di servizio Windows Communication Foundation (WCF), il contratto di servizio esistente tra un client e un servizio è rappresentato come interfaccia .NET e le operazioni vengono rappresentate come metodi in questa interfaccia. L'adapter SQL e WCF forniscono strumenti che consentono di generare questa interfaccia per le operazioni di destinazione dai metadati esposti dall'adapter. Questi strumenti creano anche una classe client WCF che può essere usata per richiamare le operazioni esposte nell'interfaccia del servizio. Un'applicazione client può chiamare i metodi della classe client WCF per richiamare le operazioni nell'adapter. Per implementare un servizio per ricevere operazioni in ingresso dalla scheda SQL, implementare l'interfaccia generata per le operazioni in ingresso.

La sezione seguente illustra come usare il modello di servizio WCF per richiamare le operazioni con un client WCF.

Richiamare operazioni sul SQL Server con un client WCF

Per usare il modello di servizio WCF per richiamare le operazioni nell'adattatore SQL, è prima necessario generare una classe client WCF per le operazioni di destinazione. È quindi possibile creare un'istanza di questa classe, un client WCF e chiamare i relativi metodi per eseguire queste operazioni nel sistema SQL Server. In questa sezione viene illustrato come si presenta un'applicazione client della scheda .NET tipica. Vengono fornite spiegazioni dettagliate su come eseguire operazioni diverse nel database SQL Server usando l'adattatore in argomenti specifici.

Per richiamare le operazioni nell'adapter SQL

  1. Generare una classe client WCF e un codice helper. Usare il plug-in Add Adapter Service Reference Visual Studio per generare una classe client WCF destinata agli artefatti del database SQL Server con cui si desidera lavorare. Per altre informazioni su come generare un client WCF, vedere Generare un client WCF o un contratto di servizio WCF per SQL Server artefatti.

  2. Creare un'istanza client WCF e configurare il client WCF. La configurazione del client WCF comporta la specifica dell'indirizzo dell'associazione e dell'endpoint (URI di connessione) che verrà usato dal client. È possibile eseguire questa operazione in modo imperativo nel codice o in modo dichiarativo nella configurazione. Il codice seguente crea un client WCF destinato all'operazione Select nella tabella Employee in un database di SQL Server. Imposta anche le credenziali per il database SQL Server. Il client WCF viene inizializzato dalla configurazione.

    TableOp_dbo_EmployeeClient client = new TableOp_dbo_EmployeeClient("SqlAdapterBinding_TableOp_dbo_Employee"); //picking the binding and address from the app.config  
    
    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    

    Nota

    È possibile specificare l'associazione client e l'indirizzo dell'endpoint nel codice o dichiararlo nel file di configurazione app.config. Il frammento di codice precedente usa quest'ultimo. Per altre informazioni su come usare entrambi gli approcci, vedere Configurare un'associazione client per l'adapter SQL.

  3. Aprire il client WCF.

    client.Open();  
    
  4. Richiamare i metodi nel client WCF creato nel passaggio precedente per eseguire un'operazione Select nel database di SQL Server. Il codice seguente richiama il metodo Select del client WCF per richiamare l'istruzione SELECT in una tabella di database SQL Server.

    client.Select("*", "where [Name] = ‘John Smith’");  
    
  5. Chiudere il client WCF.

    client.Close();  
    

Vedere anche

Sviluppare applicazioni SQL usando il modello di servizio WCF