Paso 2: Clasificar las propiedades del adaptador y la conexión
Tiempo de finalización: 30 minutos
En este paso, actualizará las clases EchoAdapterBindingElement y EchoAdapterBindingElementExtensionElement para asignar una categoría a las propiedades de adaptador y conexión. Al hacerlo, las propiedades se agrupan lógicamente por categoría en las herramientas Add Adapter Service Reference Plug-in y Consume Adapter Service Add-in. Por ejemplo, si desea que las propiedades Application, EnableAuthentication y Hostname aparezcan en la categoría Conexión , como se muestra a continuación, debe asignar la categoría Connection a cada una de las propiedades Application, EnableAuthentication y Hostname.
Del mismo modo, si desea que las propiedades InboundFileFilter e InboundFleSystemWatcherFolder aparezcan en la categoría De entrada , como se muestra a continuación, debe asignar la categoría De entrada a cada una. Si desea que Count y EnableConnectionPooling aparezcan en la categoría Misc , debe asignar la categoría Misc a cada una.
Tenga en cuenta que puede asignar una propiedad con cualquier nombre de categoría que elija. En este ejemplo, dado que la propiedad EnableConnnectionPooling no pertenece a ninguna otra categoría, la clasificamos como Misc (Miscellaneous). En cuanto a la propiedad InboundFileFilter, ya que se usa durante el control de entrada dentro del ejemplo, es más adecuado asignar Inbound a la propiedad, en lugar de Miscellaneous. Esta es la categorización completa de propiedades personalizadas para el adaptador de eco.
Propiedad | Categoría |
---|---|
InboundFileFilter | Entrada |
InboundFileSystemWatcherFolder | Entrada |
Count | Varios |
EnableConnectionPooling | Varios |
Application | Conexión |
EnableAuthentication | Conexión |
Hostname | Conexión |
EchoInUpperCase | Formato |
Además de esos cambios, también se modifica el método Dispose de EchoAdapterHandlerBase.
Para conocer las propiedades del adaptador expuestas por el adaptador de eco, consulte la sección propiedades del adaptador del Tutorial 1: Desarrollo del adaptador de eco.
Requisitos previos
Antes de comenzar este paso, debe completar el Paso 1: Usar el Asistente para desarrollo de adaptadores de LOB de WCF para crear el proyecto de adaptador de eco. También debe estar familiarizado con las System.ServiceModel.Configuration.BindingElementExtensionElement
clases y System.ServiceModel.Configuration.StandardBindingElement
.
Actualizar el método EchoAdapterHandlerBase Dispose
En Explorador de soluciones, haga doble clic en el archivo EchoAdapterHandlerBase.cs.
Quite la siguiente instrucción del método Dispose :
throw new NotImplementedException("The method or operation is not implemented.");
El método revisado debe tener un aspecto similar al siguiente:
protected virtual void Dispose(bool disposing) { // //TODO: Implement Dispose. Override this method in respective Handler classes // }
Actualizar la clase de propiedades del adaptador
En Explorador de soluciones, haga doble clic en el archivo EchoAdapterBindingElement.cs.
En el editor de Visual Studio, expanda la región Propiedades generadas personalizadas .
Para asignar la categoría Misc a la propiedad Count , agregue la siguiente instrucción única al principio de la implementación count .
[System.ComponentModel.Category("")]
La implementación count debe coincidir ahora con lo siguiente:
[System.ComponentModel.Category("")] [System.Configuration.ConfigurationProperty("count", DefaultValue = 5)] public int Count { get { return ((int)(base["Count"])); } set { base["Count"] = value; } }
Para asignar la categoría Misc a la propiedad EnableConnectionPooling , agregue la siguiente instrucción única al principio de la implementación EnableConnectionPooling .
[System.ComponentModel.Category("")]
Para asignar la categoría Inbound a la propiedad InboundFileFilter , agregue la siguiente instrucción única al principio de la implementación inboundFileFilter .
[System.ComponentModel.Category("Inbound")]
Para asignar la propiedad InboundCategoryto inboundFleSystemWatcherFolder , agregue la siguiente instrucción única al principio de la implementación inboundFleSystemWatcherFolder .
[System.ComponentModel.Category("Inbound")]
Compruebe que el código de la región Propiedades generadas personalizadas coincide con lo siguiente:
[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
Actualizar las propiedades de conexión
En Explorador de soluciones, haga doble clic en el archivo EchoAdapterConnectionUri.cs.
En el editor de Visual Studio, expanda la región Propiedades generadas personalizadas .
Para asignar la categoría Format a la propiedad EchoInUpperCase , agregue la siguiente instrucción única al principio de la implementación echoInUpperCase .
[System.ComponentModel.Category("Format")]
Para asignar la categoría Connection a la propiedad Hostname , agregue la siguiente instrucción única al principio de la implementación del nombre de host.
[System.ComponentModel.Category("Connection")]
Para asignar la categoría Conexión a la propiedad Application , agregue la siguiente instrucción única al principio de la implementación de la aplicación .
[System.ComponentModel.Category("Connection")]
Para asignar la propiedad Categoría de conexión a EnableAuthentication , agregue la siguiente instrucción única al principio de la implementación EnableAuthentication .
[System.ComponentModel.Category("Connection")]
Compruebe que el código de la región Propiedades generadas personalizadas coincide con lo siguiente:
#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
En Visual Studio, en el menú Archivo , haga clic en Guardar todo.
Nota
Ya ha guardado su trabajo. Puede cerrar Visual Studio de forma segura en este momento o ir al paso siguiente, Paso 3: Implementar la conexión para el adaptador de eco.
¿Qué hice?
Acaba de actualizar las clases para asignar una categoría a cada adaptador y propiedad de conexión expuesta por el adaptador de eco.
Pasos siguientes
Implemente la conexión, la exploración de metadatos, la búsqueda y la resolución de funcionalidades y el intercambio de mensajes salientes. Por último, se compila e implementa el adaptador de eco.
Consulte también
Paso 3: Implementar la conexión para el adaptador de Echo
Tutorial 1: Desarrollar el adaptador de Echo