Esta documentación está archivada y no tiene mantenimiento.

Información general sobre aplicaciones ASP.NET en diagramas de aplicaciones

En el Diseñador de aplicaciones, puede definir aplicaciones ASP.NET que exponen servicios Web basados en archivos .asmx, contenido de documentos Web o ambos, agregando o utilizando los extremos apropiados. Cuando agrega una aplicación del servicio Web ASP.Net o una aplicación Web ASP.NET al diagrama de aplicaciones, la definición de la aplicación tiene un servicio Web predeterminado o un extremo de proveedor de contenido Web, respectivamente. Sin embargo, puede agregar o quitar extremos de proveedor de cualquier tipo en una aplicación ASP.NET. También puede reemplazar los extremos del proveedor de servicios Web en aplicaciones ASP.NET.

Para obtener más información, vea los temas siguientes:

Las secciones siguientes contienen más información sobre aplicaciones ASP.NET en el diagrama de aplicaciones:

Definir servicios Web en aplicaciones ASP.NET

Un extremo del proveedor de servicios Web representa un servicio Web en una aplicación ASP.NET. Un extremo de consumidor de servicios Web en cualquier aplicación representa un punto de conexión a un servicio Web. Puede definir, revisar y editar operaciones para los servicios Web en aplicaciones ASP.NET.

Definir, revisar y editar operaciones

En el Diseñador de aplicaciones, puede definir, ver y editar operaciones y parámetros para cada servicio Web en una aplicación ASP.NET a través de su extremo del proveedor de servicios Web correspondiente.

NoteSugerencia

El Diseñador de aplicaciones también admite un enfoque orientado a contratos en el que puede crear un extremo del proveedor de servicios Web en una aplicación ASP.NET con firmas y tipos de operación predefinidos basados en un archivo WSDL o .disco existente. Para obtener más información, vea Información general sobre extremos en aplicaciones.

Puede definir una o más operaciones mediante los elementos siguientes:

  • Nombre de la operación y tipo de valor devuelto, si es pertinente.

  • Parámetros de operación, incluso sus nombres y tipos, si es adecuado, así como modificadores que describen cómo pasar cada parámetro.

  • Comentarios opcionales para cada operación o parámetro.

Para obtener más información, vea Cómo: Definir operaciones para los servicios Web ASP.NET.

Definir las operaciones en la ventana Detalles del servicio Web

En el Diseñador de aplicaciones, puede utilizar la ventana Detalles del servicio Web para definir, ver o editar operaciones para un extremo del proveedor de servicios Web en una aplicación ASP.NET. En el caso de servicios Web en aplicaciones ASP.NET implementadas, esta ventana muestra correctamente las operaciones de servicios Web sólo cuando los métodos Web correspondientes están declarados totalmente en una definición de clase única en un archivo de código independiente o archivo de código subyacente.

En la tabla siguiente se describen los escenarios cuando la ventana Detalles del servicio Web no muestra correctamente las operaciones del servicio Web.

Escenario Ventana Detalles del servicio Web

El archivo .asmx contiene la definición de clase del servicio Web en línea.

No muestra ninguna operación.

Métodos Web que declaran atributos en los métodos de una interfaz implementada por una clase de servicio Web.

O bien,

Una clase se extiende a una clase base que define los métodos Web.

Muestra sólo aquellas operaciones que corresponden a los métodos Web declarados en la clase hecha referencia por el archivo .asmx.

Archivos de código subyacente que definen servicios Web que contienen varios enlaces.

Muestra sólo aquellas operaciones asociadas al primer enlace.

Para obtener más información, vea Consideraciones referentes a las técnicas de ingeniería inversa en soluciones existentes.

Tipos de referencia para operaciones y parámetros

La referencia a un tipo para una operación o parámetro es adecuado dependiendo del lenguaje de programación elegido para la aplicación. Al definir una operación o parámetro, puede elegir una de las acciones siguientes:

  • Dejar el tipo como vacío o establecerlo según corresponda en el valor predeterminado.

  • Elegir un tipo en la lista de tipos de IntelliSense.

  • Hacer referencia a un tipo definido en otras bibliotecas de tipos y proyectos, si una referencia a esas bibliotecas o proyectos existe en el proyecto de aplicación.

  • Hacer referencia a un tipo que se piensa definir más adelante.

Al definir operaciones y parámetros mediante la ventana Detalles del servicio Web, está disponible la compatibilidad con Intellisense para hacer referencia a tipos, pero sólo para Visual Basic y Visual C#. Cuando se implementa la aplicación, puede definir nuevos tipos o volver a definir los existentes. Para obtener más información, vea Cómo: Definir tipos de operación y de parámetro para servicios Web ASP.NET.

NoteNota

En Visual J#, si especifica un tipo genérico no definido con su nombre completo en la ventana Detalles del servicio Web antes de la implementación, dicho tipo se mostrará sin la parte genérica de su nombre en la ventana una vez que se haya implementado la aplicación asociada. Sin embargo, este tipo aparecerá con su parte genérica en el archivo de clases de servicios Web. Por ejemplo, un tipo genérico especificado como Namespace.Class<GenericType> en la ventana Detalles del servicio Web antes de la implementación se mostrará como Namespace.Class, una vez que se haya implementado la aplicación. Si el foco no está en la columna Tipo, la ventana Detalles del servicio Web mostrará Class<GenericType> antes de la implementación y, a continuación, Class cuando se haya implementado. En las operaciones agregadas a un archivo de clases de servicios Web y que especifiquen tipos genéricos no definidos con nombres completos, a estos tipos se les aplicará ingeniería inversa en la ventana Detalles del servicio Web sin las partes genéricas. Cuando vaya a definir tipos especificados y a los que se les ha aplicado ingeniería inversa de esta forma, estos tipos también aparecerán sin las partes genéricas en sus archivos de clases. Sin embargo, si especifica un tipo genérico no definido como Class<GenericType> en la ventana Detalles del servicio Web antes de la implementación, ese tipo se mostrará con su parte genérica en la ventana y en el archivo de clases de servicios Web, una vez que se haya implementado la aplicación. Si aplica ingeniería inversa a un tipo especificado de esta forma en el archivo de clases de servicios Web, a ese tipo se le aplicará ingeniería inversa con su parte genérica en la ventana Detalles del servicio Web. Sin embargo, puesto que Visual J# no permite la creación de tipos genéricos, no podrá definir tipos que aparezcan con sus partes genéricas en la ventana Detalles del servicio Web si se implementa la aplicación. Para obtener más información, vea Consideraciones referentes a las técnicas de ingeniería inversa en soluciones existentes.

Definir aplicaciones Web ASP.NET

En el Diseñador de aplicaciones, un extremo de proveedor de contenido Web en una aplicación ASP.NET representa un punto de conexión en el cual se expone el contenido Web, por ejemplo, archivos HTML o páginas Active Server (archivos .aspx). Un extremo de consumidor de contenido Web en cualquier aplicación representa un punto de conexión del cliente al contenido Web.

Los extremos de contenido Web no admiten generación de código ni sincronización, ni generan ni se sincronizan con entradas del archivo de configuración (.config) de la aplicación. Sin embargo, puede utilizar estos extremos para documentar los requisitos y establecer las restricciones en la compatibilidad del contenido Web para un sitio Web alojado en un servidor Web.

Para obtener más información, vea los temas siguientes:

Implementar aplicaciones ASP.NET

Cuando se implementa una aplicación ASP.NET, Visual Studio genera el proyecto correspondiente con los archivos de proyecto adecuados. Puede implementar aplicaciones ASP.NET como proyectos Web del servidor de desarrollo de ASP.NET (basado en sistema de archivos) o como proyectos Web de IIS (Servicios de Internet Information Server) (basado en HTTP). Para obtener más información, vea Tipos y prototipos de aplicaciones para la definición de aplicaciones y Cómo: Elegir un tipo de sitio Web para aplicaciones ASP.NET.

Todos los proyectos de aplicación ASP.NET incluyen un archivo de configuración Web.config como parte del proyecto raíz en el Explorador de soluciones. En el caso de una aplicación ASP.NET con uno o más extremos de proveedor de servicios Web, el proyecto también incluye un archivo .asmx y un archivo de clase de servicios Web, que es un archivo de código específico del lenguaje de programación o un archivo de código subyacente, para cada extremo del proveedor de servicios Web.

En la clase de servicio Web, un enlace de WSDL con un enlace y puerto únicos se asocia a cada extremo del proveedor de servicios Web. Cada operación de servicios Web, junto con comentarios, aparece como un método etiquetado con el atributo WebMethod en la clase de servicios Web. En cualquier extremo del proveedor de servicios Web creados a partir de un archivo WSDL o .disco, también se incluyen en el proyecto de aplicación los archivos de clase que definen los tipos XML complejos que admiten la serialización XML para operaciones en el archivo WSDL o archivos de esquema XML relacionados. A continuación, puede finalizar la implementación de cada operación agregando el código del cuerpo del método necesario. Para obtener más información, vea Información general sobre extremos en aplicaciones.

NoteNota

Las descripciones de WSDL que especifique en los comentarios de la operación también aparecen en el archivo WSDL. También puede personalizar la generación del archivo WSDL. Para obtener más información, vea Generación de archivos WSDL para los servicios Web ASP.NET.

Aunque el código fuente de cualquier aplicación implementado se considera la definición maestra, los cambios que se realicen en el servicio Web ASP.NET en el Diseñador de aplicaciones, la ventana Detalles del servicio Web, o en un editor de código se sincronizan entre sí cuando se abre el diagrama de aplicaciones. Sin embargo, un diagrama cerrado sincronizará con los cambios realizados en el código la próxima vez que se abre el diagrama. Para obtener más información, vea Cómo: Implementar aplicaciones en diagramas de aplicaciones.

Asignaciones de puerto dinámico para aplicaciones Web ASP.NET

Después de la implementación de una aplicación ASP.NET basada en sistema de archivos, que genera un proyecto Web del servidor de desarrollo ASP.NET, se asigna un número de puerto al sitio Web asociado. Cuando las aplicaciones ASP.NET basadas en sistema de archivos se establecen para utilizar de forma predeterminada los puertos dinámicos, este número de puerto puede cambiar.

NoteSugerencia

Puede ver el número de puerto en la ventana Propiedades haciendo clic con el botón secundario del mouse en el proyecto de aplicación ASP.NET en el Explorador de soluciones.

Por ejemplo, se asignan nuevos números de puerto a las aplicaciones ASP.NET basadas en sistema de archivos en cualquiera de las condiciones siguientes:

  • Cuando se abre una solución que contiene estos tipos de aplicaciones ASP.NET así como aplicaciones de consumidor de servicios Web implementadas con referencias a los servicios Web expuestos por estas aplicaciones ASP.NET.

  • Al utilizar por primera vez el depurador de Visual Studio en una solución que contiene estos tipos de aplicaciones ASP.NET.

Si los proyectos de aplicación de consumidor de servicios Web asociados se encuentran en la misma solución, se actualizan automáticamente. Sin embargo, si no están en la misma solución (por ejemplo, si se encuentran en soluciones con particiones), no se actualizarán sus referencias Web y señalarán a servicios Web inexistentes.

NoteNota

Si se está utilizando control de código fuente, y los proyectos de aplicación de consumidor de servicios Web se comprueban en el control de código fuente, debe comprobar estos proyectos para actualizar las referencias Web.

Para controlar la asignación de los números de puerto, puede establecer el proyecto de una aplicación ASP.NET basada en sistema de archivos para no utilizar los puertos dinámicos.

NoteNota

Después de especificar que no se utilicen los puertos dinámicos, al iniciar el depurador de Visual Studio, se podría generar un error que indica que el puerto existente está en uso. En este caso, debe cambiar manualmente el número de puerto para el proyecto de sitio Web. Cuando cambia el número de puerto, Visual Studio genera la advertencia de que las referencias Web existentes no serán válidas. Si el diagrama de aplicaciones está abierto, se actualizan las referencias Web. Sin embargo, si el diagrama de aplicaciones no está abierto, debe eliminar y, a continuación, volver a agregar esas referencias Web.

Para obtener más información, vea los temas siguientes:

Implementar las aplicaciones de consumidor de servicios Web

Cuando se implementa una aplicación con uno o más extremos de consumidor de servicios Web, se genera una referencia Web para cada extremo de consumidor de servicios Web, si está disponible el archivo WSDL utilizado para generar la referencia Web. La propiedad de ubicación de WSDL especifica este archivo WSDL en el extremo de consumidor de servicios Web. Cuando se genera la referencia Web, se genera también la dirección URL del servicio Web en el archivo de configuración de la aplicación de consumidor.

NoteNota

Si se implementa al mismo tiempo una aplicación de proveedor de servicios Web ASP.NET conectada, el archivo WSDL estará disponible durante la implementación. Sin embargo, si la aplicación de proveedor de servicios Web conectada no se implementa cuando lo hace el extremo de consumidor, éste muestra una advertencia que indica que el extremo de consumidor no se puede implementar. Cuando se implementa una aplicación de proveedor de servicios Web, se implementa automáticamente cualquier extremo de consumidor conectado si se implementa la aplicación de consumidor. Para obtener más información, vea Solucionar problemas de diagramas de aplicaciones.

La referencia Web controla la creación de la clase de proxy del cliente de servicios Web y los tipos proxy para llamar a las operaciones de servicios Web y controlar la comunicación de los mensajes SOAP. También puede realizar ingeniería inversa y visualizar clase de proxy del cliente de servicios Web personalizadas, incluso aquellas clase de proxy personalizadas y referencias Web definidas en las bibliotecas de clases, como extremos de consumidor de servicios Web. Para obtener más información, vea Crear un proxy de servicio Web XML y Consideraciones referentes a las clases personalizadas de proxy cliente de servicios Web.

NoteNota

También puede permitir documentación XML para una aplicación de consumidor de servicios Web o Windows después de la implementación para incluir comentarios de la operación en un archivo XML. Se genera este archivo después de generar el proyecto de aplicación. Para generar el archivo XML, debe habilitar la documentación XML para el proyecto Windows. Para los proyectos Windows de Visual Basic, vea Cómo: Generar documentación XML para un proyecto. Para los proyectos Windows de Visual C#, vea Cómo: Especificar las propiedades de generación (C#, J#) y Generar (Página, Diseñador de proyectos) (C#).

Vea también

Mostrar: