Cómo: Hacer referencia a las bibliotecas de clases de aplicaciones en diagramas de aplicaciones
Actualización: noviembre 2007
En el Diseñador de aplicaciones, puede representar las referencias a las bibliotecas de clases de las aplicaciones en el diagrama de aplicaciones. Aunque el Diseñador de aplicaciones no admite el diseño ni la representación directa de las bibliotecas de clases en el diagrama de aplicaciones, puede utilizar un servicio Web ASP.NET como fachada para la funcionalidad implementada por una biblioteca de clases. Después puede aplicar ingeniería inversa a las referencias a esta biblioteca de clases desde otras aplicaciones como conexiones desde dichas aplicaciones al servicio Web.
En la lista siguiente se resumen los pasos que debe seguir para realizar esta tarea:
Agregar un servicio Web ASP.NET a la solución y hacer referencia a dicho servicio desde la biblioteca de clases.
Hacer referencia a la biblioteca de clases desde la aplicación de consumidor, que puede ser una aplicación para ASP.NET, Windows u Office ya existente o agregada por el usuario al diagrama de aplicaciones.
Copiar las entradas pertinentes del archivo de configuración de la biblioteca de clases en el archivo de configuración de la aplicación de consumidor.
Estos pasos aplican ingeniería inversa a un extremo de consumidor de servicios Web en la aplicación de consumidor y a una conexión al servicio Web ASP.NET.
Sugerencia: |
---|
También puede utilizar esta técnica para visualizar referencias Web o clases de proxy cliente de servicios Web definidas en las bibliotecas de clases como extremos de consumidor de servicios Web y conexiones en el diagrama de aplicaciones. Sin embargo, no puede representar estos elementos con el Diseñador de aplicaciones diseñando primero los extremos de consumidor de servicios Web y después agregando las entradas de archivos de configuración apropiados. Para obtener más información, vea Referencias Web y Clases personalizadas de proxy cliente de servicios Web en las bibliotecas de clases. |
Para hacer referencia a un servicio Web desde una biblioteca de clases
Abra el archivo de diagrama de aplicaciones (.ad).
Agregue un servicio Web ASP.NET al diagrama.
Sugerencia: Para obtener más información, vea Cómo: Definir aplicaciones en diagramas de aplicaciones.
Este servicio Web permitirá que otras aplicaciones hagan referencia a una biblioteca de clases si utilizan dicho servicio.
En el diagrama, elija como aplicación de consumidor una aplicación para Windows o ASP.NET ya existente o bien agregue una nueva.
Implemente el servicio Web ASP.NET y la aplicación de consumidor, si no están ya implementados.
Nota: Para obtener más información, vea Cómo: Implementar aplicaciones en diagramas de aplicaciones. El servicio Web ASP.NET debe estar implementado para que sea posible agregar una referencia de servicio Web a la biblioteca de clases. La aplicación de consumidor debe estar implementada para poder editar posteriormente su archivo de configuración.
La aplicación de consumidor utilizará la funcionalidad de la biblioteca de clases para las llamadas al servicio Web.
Si es preciso, agregue a la solución un proyecto de biblioteca de clases nuevo o ya existente.
Nota: Debe existir un archivo App.config en el proyecto de la biblioteca de clases para que se agreguen las entradas del archivo de configuración apropiadas cuando se agregue la referencia Web.
Si faltan el archivo de configuración de la biblioteca de clases, el servicio Web ASP.NET o el proyecto de aplicación de consumidor, agregue el archivo de configuración pertinente (App.config o Web.config) al proyecto de biblioteca de clases.
Sugerencia: Para agregar un archivo de configuración, seleccione el nodo del proyecto en el Explorador de soluciones, elija Agregar nuevo elemento en el menú Proyecto y seleccione Archivo de configuración de aplicaciones o Archivo de configuración Web, según corresponda, en el cuadro de diálogo Agregar nuevo elemento.
En el Explorador de soluciones, seleccione el nodo del proyecto de bibliotecas de clases y elija Agregar referencia Web en el menú Proyecto.
En el cuadro de diálogo Agregar referencia Web, haga clic en Servicios Web de esta solución, elija el servicio Web que ha creado y haga clic en Agregar referencia.
En el Explorador de soluciones, se agrega una referencia al servicio Web creado a la carpeta Referencias Web en el proyecto de bibliotecas de clases.
En el Explorador de soluciones, seleccione el nodo del proyecto de bibliotecas de clases y elija Generar <NombreBibliotecaClases> en el menú Generar.
Sugerencia: También puede hacer clic con el botón secundario del mouse en el nodo de proyecto y elegir Generar. Cuando añada referencias Web nuevas, genere otra vez la biblioteca de clases antes de copiar las entradas del archivo de configuración y agregar la referencia a la biblioteca de clases. De lo contrario, las referencias al servicio web en las bibliotecas de clases de Visual Basic podrían no aplicar la ingeniería inversa si generase la biblioteca de clases como último paso después de copiar las entradas del archivo de configuración y agregar la referencia a la biblioteca de clases a la aplicación de consumidor. Para obtener más información, consulte Solucionar problemas de diagramas de aplicaciones.
Ahora está listo para agregar una referencia a la biblioteca de clases a la aplicación de consumidor.
Sugerencia: |
---|
Si el archivo de configuración falta o se elimina del proyecto de la biblioteca de clases después de agregar las referencias Web al proyecto, puede agregar al proyecto un archivo de configuración nuevo. No obstante, las referencias Web no se agregarán automáticamente al archivo de configuración. Deberá quitar las referencias Web del proyecto y volver a agregarlas, con lo que se crea un archivo de configuración nuevo que contiene entradas de las referencias Web agregadas. |
Para hacer referencia a la biblioteca de clases desde la aplicación de consumidor
En el Explorador de soluciones, seleccione el nodo del proyecto de aplicación de consumidor y elija una de las opciones siguientes:
En una aplicación para Windows u Office, elija Agregar referencia en el menú Proyecto.
En una aplicación para ASP.NET, elija Agregar referencia en el menú Sitio Web.
Sugerencia: También puede hacer clic con el botón secundario del mouse en el nodo de proyecto raíz y elegir Agregar referencia.
En la ficha Proyectos, seleccione el proyecto de bibliotecas de clases y haga clic en Aceptar.
Para copiar entradas desde el archivo de configuración de la biblioteca de clases al archivo de configuración de la aplicación de consumidor
Abra el archivo App.config en el proyecto de biblioteca de clases y el archivo de configuración en el proyecto de aplicación de consumidor.
En el archivo App.config de la biblioteca de clases, copie las entradas siguientes de las secciones <configSections> y <applicationSettings>.
Nota: Incluya las etiquetas de apertura y cierre <configSections> o <applicationSettings> si no existen en el archivo de configuración de destino. Si copia entradas para varias bibliotecas de clases, copie únicamente un conjunto de etiquetas <sectionGroup> de "applicationSettings" .
<configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=VersionNumber, Culture=neutral, PublicKeyToken=b77a5c561934e089"><section name="ClassLibraryName.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></sectionGroup> </configSections> <applicationSettings> <ClassLibraryName.Settings> <setting name="ClassLibraryName_WebServiceProxyClassName" serializeAs="String"><value>http://WebServiceURL.asmx</value></setting></ClassLibraryName.Settings> </applicationSettings>
Pegue las entradas copiadas en la sección <configuration> que sigue inmediatamente a la etiqueta <configuration> en el archivo de configuración de la aplicación de consumidor.
En el Explorador de soluciones, seleccione el nodo de solución raíz y elija Generar solución en el menú Generar.
Sugerencia: También puede hacer clic con el botón secundario del mouse en el nodo de la solución raíz y elija Generar solución.
En el diagrama de aplicaciones, se aplica ingeniería inversa a un extremo del consumidor de servicios Web en la aplicación de consumidor y se conecta al servicio Web de ASP.NET.
En los escenarios siguientes, no se puede aplicar correctamente la ingeniería inversa a las referencias a servicios Web:
La ingeniería inversa de referencias a servicios Web podría no realizarse correctamente si se hace referencia a la misma biblioteca de clases desde un proyecto Web de Windows y un proyecto de ASP.NET.
Para resolver esta situación, cierre el diagrama de aplicaciones y quite las referencias a la biblioteca de clases compartida en los proyectos Web para Windows y ASP.NET. Agregue en primer lugar la referencia a la biblioteca de clases en el proyecto Web ASP.NET, abra el diagrama de aplicaciones y, a continuación, agregue la referencia a la biblioteca de clases en el proyecto Windows. Para obtener más información, consulte Solucionar problemas de diagramas de aplicaciones.
Las técnicas de ingeniería inversa podrían no aplicarse correctamente a las referencias a los servicios web en las bibliotecas de clases de Visual Basic cuando una aplicación de consumidor hace referencia a varias bibliotecas de clases y cada biblioteca contiene una referencia web a un servicio web diferente.
Para resolver este problema, actualice todas las referencias Web de las bibliotecas de clases afectadas. Haga clic con el botón secundario del mouse en cada referencia Web de cada biblioteca de clases afectada, elija Actualizar referencia Web y vuelva a generar la solución completa. Tras agregar referencias Web nuevas y volver a generar las bibliotecas de clases correspondientes, genere otra vez la solución completa para realizar la ingeniería inversa de estas referencias Web.
Vea también
Tareas
Tutorial: Representar conexiones indirectas de servicios Web
Conceptos
Información general sobre aplicaciones ASP.NET en diagramas de aplicaciones
Otros recursos
Hacer referencia a las bibliotecas de clases de aplicaciones en diagramas de aplicaciones