Condividi tramite


Passaggio 2: Classificare l'adapter e le proprietà di connessione

Passaggio 2 di 9

Tempo di completamento: 30 minuti

In questo passaggio si aggiornano le classi EchoAdapterBindingElement e EchoAdapterBindingElementExtensionElement per assegnare una categoria alle proprietà di connessione e della scheda. In questo modo, le proprietà vengono raggruppate in modo logico per categoria negli strumenti plug-in Add Adapter Service Reference e Consume Adapter Service Add. Ad esempio, se si desidera che le proprietà Application, EnableAuthentication e Hostname vengano visualizzate nella categoria Connection , come illustrato di seguito, è necessario assegnare la categoria Connection a ognuna delle proprietà Application, EnableAuthentication e Hostname.

Screenshot che mostra la scheda Proprietà URI.

Analogamente, se si desidera che le proprietà InboundFileFilter e InboundFleSystemWatcherFolder vengano visualizzate sotto la categoria Inbound , come illustrato di seguito, è necessario assegnare la categoria Inbound a ognuna. Se si desidera che Count e EnableConnectionPooling vengano visualizzati nella categoria Misc , è necessario assegnare la categoria Misc a ogni.

Screenshot che mostra la scheda Proprietà binding.

Tenere presente che è possibile assegnare una proprietà con qualsiasi nome di categoria scelto. In questo esempio, poiché la proprietà EnableConnnectionPooling non appartiene ad altre categorie, la categoria viene classificata come Misc (Varie). Per quanto riguarda la proprietà InboundFileFilter, poiché viene usata durante la gestione in ingresso all'interno dell'esempio, è più appropriato assegnare Inbound alla proprietà, anziché Miscellaneous. Ecco la categorizzazione completa della proprietà personalizzata per l'adattatore echo.

Proprietà Categoria
InboundFileFilter In ingresso
InboundFileSystemWatcherFolder In ingresso
Conteggio Varie
EnableConnectionPooling Varie
Applicazione Connessione
EnableAuthentication Connessione
Nome host Connessione
EchoInUpperCase Formato

Oltre a queste modifiche, si modifica anche il metodo Dispose di EchoAdapterHandlerBase.

Per le proprietà dell'adattatore esposte dall'adattatore echo, vedere la sezione relativa alle proprietà dell'adapter dell'esercitazione 1: Sviluppare l'adapter Echo.

Prerequisiti

Prima di iniziare questo passaggio, è necessario completare il passaggio 1: Usare lo sviluppo guidato dell'adapter LOB WCF per creare il progetto Echo Adapter. È anche necessario avere familiarità con le System.ServiceModel.Configuration.BindingElementExtensionElement classi e System.ServiceModel.Configuration.StandardBindingElement .

Aggiornare il metodo EchoAdapterHandlerBase Dispose

  1. In Esplora soluzioni fare doppio clic sul file EchoAdapterHandlerBase.cs.

  2. Rimuovere l'istruzione seguente dal metodo Dispose :

    throw new NotImplementedException("The method or operation is not implemented.");  
    

    Il metodo modificato dovrebbe essere simile al seguente:

    protected virtual void Dispose(bool disposing)  
    {  
       //  
       //TODO: Implement Dispose. Override this method in respective Handler classes  
       //  
    }  
    

Aggiornare la classe delle proprietà adapter

  1. In Esplora soluzioni fare doppio clic sul file EchoAdapterBindingElement.cs.

  2. Nell'editor di Visual Studio espandere l'area Proprietà generate personalizzate .

  3. Per assegnare la categoria Misc alla proprietà Count , aggiungere l'istruzione singola seguente all'inizio dell'implementazione Count .

    [System.ComponentModel.Category("")]  
    

    L'implementazione count dovrebbe ora corrispondere a quanto segue:

    [System.ComponentModel.Category("")]  
    [System.Configuration.ConfigurationProperty("count", DefaultValue = 5)]  
    public int Count  
    {  
        get  
        {  
            return ((int)(base["Count"]));  
        }  
        set  
        {  
            base["Count"] = value;  
        }  
    }  
    
  4. Per assegnare la categoria Misc alla proprietà EnableConnectionPooling , aggiungere l'istruzione singola seguente all'inizio dell'implementazione enableConnectionPooling .

    [System.ComponentModel.Category("")]  
    
  5. Per assegnare la categoria Inbound alla proprietà InboundFileFilter , aggiungere l'istruzione singola seguente all'inizio dell'implementazione di InboundFileFilter .

    [System.ComponentModel.Category("Inbound")]  
    
  6. Per assegnare la proprietà Inbound categoryto inboundFleSystemWatcherFolder , aggiungere l'istruzione singola seguente all'inizio dell'implementazione inboundFleSystemWatcherFolder .

    [System.ComponentModel.Category("Inbound")]  
    
  7. Verificare che il codice nell'area Proprietà generate personalizzate corrisponda al seguente:

    [System.ComponentModel.Category("")]  
    [System.Configuration.ConfigurationProperty("count", DefaultValue = 5)]  
    public int Count  
    {  
        get  
        {  
            return ((int)(base["Count"]));  
        }  
        set  
        {  
            base["Count"] = value;  
        }  
    }  
    
    [System.ComponentModel.Category("")]  
    [System.Configuration.ConfigurationProperty("enableConnectionPooling", DefaultValue = true)]  
    public bool EnableConnectionPooling  
    {  
        get  
        {  
            return ((bool)(base["EnableConnectionPooling"]));  
        }  
        set  
        {  
            base["EnableConnectionPooling"] = value;  
        }  
    }  
    
    [System.ComponentModel.Category("Inbound")]  
    [System.Configuration.ConfigurationProperty("inboundFileFilter", DefaultValue = "*.txt")]  
    public string InboundFileFilter  
    {  
        get  
        {  
            return ((string)(base["InboundFileFilter"]));  
        }  
        set  
        {  
            base["InboundFileFilter"] = value;  
        }  
    }  
    
    [System.ComponentModel.Category("Inbound")]  
    [System.Configuration.ConfigurationProperty("inboundFileSystemWatcherFolder", DefaultValue = "{InboundFileSystemWatcherFolder}")]  
    public string InboundFileSystemWatcherFolder  
    {  
        get  
        {  
            return ((string)(base["InboundFileSystemWatcherFolder"]));  
        }  
        set  
        {  
            base["InboundFileSystemWatcherFolder"] = value;  
        }  
    }  
    
    #endregion Custom Generated Properties  
    

Aggiornare le proprietà di connessione

  1. In Esplora soluzioni fare doppio clic sul file EchoAdapterConnectionUri.cs.

  2. Nell'editor di Visual Studio espandere l'area Proprietà generate personalizzate .

  3. Per assegnare la categoria Format alla proprietà EchoInUpperCase , aggiungere l'istruzione singola seguente all'inizio dell'implementazione echoInUpperCase .

    [System.ComponentModel.Category("Format")]  
    
  4. Per assegnare la categoria Connection alla proprietà Hostname , aggiungere l'istruzione singola seguente all'inizio dell'implementazione hostname .

    [System.ComponentModel.Category("Connection")]  
    
  5. Per assegnare la categoria Connection alla proprietà Application , aggiungere l'istruzione singola seguente all'inizio dell'implementazione dell'applicazione .

    [System.ComponentModel.Category("Connection")]  
    
  6. Per assegnare la proprietà Connection categoryto EnableAuthentication , aggiungere l'istruzione singola seguente all'inizio dell'implementazione EnableAuthentication .

    [System.ComponentModel.Category("Connection")]  
    
  7. Verificare che il codice nell'area Proprietà generate personalizzate corrisponda al seguente:

    #region Custom Generated Properties  
            [System.ComponentModel.Category("Format")]  
            public bool EchoInUpperCase  
            {  
                get  
                {  
                    return this.echoInUpperCase;  
                }  
                set  
                {  
                    this.echoInUpperCase = value;  
                }  
            }  
    
            [System.ComponentModel.Category("Connection")]  
            public string Hostname  
            {  
                get  
                {  
                    return this.hostname;  
                }  
                set  
                {  
                    this.hostname = value;  
                }  
            }  
    
            [System.ComponentModel.Category("Connection")]  
            public string Application  
            {  
                get  
                {  
                    return this.application;  
                }  
                set  
                {  
                    this.application = value;  
                }  
            }  
    
            [System.ComponentModel.Category("Connection")]  
            public bool EnableAuthentication  
            {  
                get  
                {  
                    return this.enableAuthentication;  
                }  
                set  
                {  
                    this.enableAuthentication = value;  
                }  
            }  
            #endregion Custom Generated Properties  
    
  8. In Visual Studio scegliere Salva tutto dal menu File.

Nota

Il lavoro è stato salvato. È possibile chiudere Visual Studio in questo momento o andare al passaggio successivo, Passaggio 3: Implementare la connessione per l'adapter Echo.

Cosa ho appena fatto?

Le classi sono state appena aggiornate per assegnare una categoria a ogni scheda e proprietà di connessione esposte dall'adattatore echo.

Passaggi successivi

Si implementano funzionalità di connessione, esplorazione dei metadati, ricerca e risoluzione e scambio di messaggi in uscita. Infine, si compila e si distribuisce l'adattatore echo.

Vedere anche

Passaggio 3: Implementare la connessione per Echo Adapter
Esercitazione 1: Sviluppare Echo Adapter