Passaggio 2: Classificare l'adapter e le proprietà di connessione
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.
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.
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
In Esplora soluzioni fare doppio clic sul file EchoAdapterHandlerBase.cs.
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
In Esplora soluzioni fare doppio clic sul file EchoAdapterBindingElement.cs.
Nell'editor di Visual Studio espandere l'area Proprietà generate personalizzate .
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; } }
Per assegnare la categoria Misc alla proprietà EnableConnectionPooling , aggiungere l'istruzione singola seguente all'inizio dell'implementazione enableConnectionPooling .
[System.ComponentModel.Category("")]
Per assegnare la categoria Inbound alla proprietà InboundFileFilter , aggiungere l'istruzione singola seguente all'inizio dell'implementazione di InboundFileFilter .
[System.ComponentModel.Category("Inbound")]
Per assegnare la proprietà Inbound categoryto inboundFleSystemWatcherFolder , aggiungere l'istruzione singola seguente all'inizio dell'implementazione inboundFleSystemWatcherFolder .
[System.ComponentModel.Category("Inbound")]
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
In Esplora soluzioni fare doppio clic sul file EchoAdapterConnectionUri.cs.
Nell'editor di Visual Studio espandere l'area Proprietà generate personalizzate .
Per assegnare la categoria Format alla proprietà EchoInUpperCase , aggiungere l'istruzione singola seguente all'inizio dell'implementazione echoInUpperCase .
[System.ComponentModel.Category("Format")]
Per assegnare la categoria Connection alla proprietà Hostname , aggiungere l'istruzione singola seguente all'inizio dell'implementazione hostname .
[System.ComponentModel.Category("Connection")]
Per assegnare la categoria Connection alla proprietà Application , aggiungere l'istruzione singola seguente all'inizio dell'implementazione dell'applicazione .
[System.ComponentModel.Category("Connection")]
Per assegnare la proprietà Connection categoryto EnableAuthentication , aggiungere l'istruzione singola seguente all'inizio dell'implementazione EnableAuthentication .
[System.ComponentModel.Category("Connection")]
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
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