JASoft.org

Modificar la salida de los controles Web sin heredar de ellos

Modificar la salida de los controles Web sin heredar de ellos
Ya he escrito en otras ocasiones sobre la cuestión de modificar la salida de las páginas ASPX y los controles, para poder modificarla a nuestra voluntad sin necesidad de tener acceso al código fuente (ver enlaces al final del post). En esta ocasión voy a comentar una característica muy poco conocida de los controles que permite modificar su salida directamente, sin necesidad de heredar de ellos (técnica habitual) ni otras técnicas complicadas. Lo que haremos será sacar provecho a un método de la clase System.Web.UI.Control supuestamente pensado sólo para uso interno, pero que Microsoft ha dejado como público y por lo tanto acesible directamente a cualquiera. Se trata del método SetRenderMethodDelegate. Éste permite asignar un delegado de una función de tipo RenderMethod que sustituirá al método de renderizado del control en cuestión. El método propio que definamos para asignar con SetRenderMethodDelegate toma dos parámetros: un HtmlTextWriter que utilizaremos para generar la salida d... [Más]

Vídeo en Channel9 en Español: Mejorar el rendimiento de la descarga de librerías Javascript

Vídeo en Channel9 en Español: Mejorar el rendimiento de la descarga de librerías Javascript
Ya está disponible en Channel9 mi vídeo sobre cómo optimizar la descarga de archivos .js en aplicaciones Web gracias a la característica específica incluida a tal efecto en el SP1 de .NET 3.5. Se ve con una calidad estupenda, pero debes ponerlo a pantalla completa usando el botón de la derecha que aparece en la parte de abajo cuando pasas por encima con el ratón (el que tiene las flechas en esta figura): Pulsa la imagen para ir la página del vídeo Puedes verlo en streaming directamente desde la página (necesitarás Silverlight 2.0) o bien descargártelo en diversos formatos: En la página podrás encontrar otros vídeos intereantes, muchos de los cuales los han hecho también otros tutores de campusMVP, como Unai Zorrilla o Alberto Población. Dentro de poco habrá alguno que otro más de los míos, de los que os iré informando aquí... ¡Qué os sea útil!

Llamadas asíncronas a servicios Web: la sobrecarga menos conocida

Llamadas asíncronas a servicios Web: la sobrecarga menos conocida
Hoy en uno de los cursos de campusMVP un alumno me ha hecho una pregunta cuya respuesta creo que puede interesar a más de uno. Se refería a la llamada asíncrona a servicios Web y una segunda sobrecarag de los métodos xxxxAsync que toma un parámetro adicional. como es sabido cuando definimos un servicio Web y lo consumimos desde una aplicación cliente es posible hacer llamadas asíncronas al mismo para dejar que se siga ejecutando la aplicaicón sin necesidad de quedar con el hilo a la espera de que terminen operaciones largas en dicho servicio. Desde .NET 2.0 esto es muy sencillo ya que el proxy que se genera para llamar al servicio añade para cada método un método adicional con el mismo nombre y seguido de la palabra "Async" de modo que podamos utilizarlo para hacer la llamada asíncrona. así, si tenemo sun método GetdatosFromClientes, podemos llamarlo asíncronamente con GetdatosFromClientesAsync. Nota: Ojo porque si la referencia al servicio Web la añadimos usando WCF para generar el ... [Más]

Azure: el primer "sistema operativo" de Microsoft para la nube

Azure: el primer "sistema operativo" de Microsoft para la nube
Hoy, durante la ceremonia de apertura la Microsoft PDC en Los Angeles Microsoft ha anunciado Azure, su primer sistema operativo desarrollado específicamente para ejecutarse "en la nube" (de forma remota). Se trata de una API de servicios albergados en los Data Center de Microsoft que permitirá dotar a nuestras aplicaciones de múltiples funcionalidades obtenidas directamente desde la Red. Según Ray Ozzie, arquitecto jefe de software, Azure combina perfectamente las capacidades de programación para la nube con el almacenamiento, los servicios de infraestructura de red y los servicios alojados dentro de un único centro que se encarga de mantener la propia Microsoft. Azure se programará con las herramientas y lenguajes que ya conocemos (.NET Framework y Visual Studio). Los servicios de la plataforma Azure se componen de varios componentes: Azure, componente necesario para el alojamiento, la gestión, el almacenamiento y las comunicaciones escalables. Los servicio... [Más]

TRUCO: Poner una aplicación Web en modo producción de manera rápida

TRUCO: Poner una aplicación Web en modo producción de manera rápida
Cuando ponemos una de nuestras aplicaciones Web en producción siempre tenemos que estar pendientes de ciertos detalles para asegurarnos de que se ejecuta con el mejor rendimiento. De hecho, si asististe el año pasado a mi charla compartida del Developer Day en Madrid (con Isabel Gómez de Microsoft) sobre rendimiento de ASP.NET, probablemente recuerdes que insistimos mucho en cosas tontas pero habituales, como por ejemplo que no te olvides de desconectar el modo activo de depuración de tu página. Bueno, para poder evitar preocuparnos de muchas de estas cosas podemos tomar un atajo. Se trata de un ajuste poco conocido que se hace dentro del ámbito de la máquina (servidor) y que consiste en modificar el archivo machine.config (ubicado en C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG) de la siguiente manera: <configuration>    <system.web>          <deployment retail=”true”/>    </sys... [Más]

Generar e instalar un certificado SSL gratis

Generar e instalar un certificado SSL gratis
En mi anterior post os hablaba sobre la forma de poder utilizar varios certificados SSL en un mismo servidor y las posibilidades y limitaciones técnicas que existían. Un certificado de servidor para SSL suele ser un producto caro. El precio en una entidad certificadora decente van desde unos pocos cientos a más de 1.000 euros, dependiente del tipo de certificado. Además es un proceso tedioso ya que hay que demostrar fehacientemente que somos quiénes decimos ser (que es de lo que va todo esto realmente, claro), lo que implica envío de papeles para su verficación, llamadas, faxes, etc... Conviene seleccionar una entidad certificadora conocida ya que de este modo su certificado raíz, que la verifica a ella primeramente, estará ya instalada en nuestro equipo, cosa que no ocurre con otras menos comunes (y supone una barrera comercial importante para éstas últimas). Todo el sistema de infraestructura de clave p&uac... [Más]

Usar varios certificados SSL en el mismo servidor IIS: Limitaciones de SSL y certificados comodín.

Usar varios certificados SSL en el mismo servidor IIS: Limitaciones de SSL y certificados comodín.
El título es así de largo proque realmente trato varios temas que están relacionados yq ue a muchos programadores Web les pueden a resultar útiles. Primeramente, pregunta típica: ¿puedo utilizar varios certificados SSL (Secure Sockets Layer) en un mismo servidor Internet Information Server (IIS)? Respuesta: Sí y No. Un servidor IIS 6.0 permite por defecto asignar varios certificados a servidores virtuales diferentes siempre y cuando éstos funcionen cada uno en un puerto distinto. Así, si usamos en alguno un puerto no estándar (distinto al 443), pues entonces sí nos deja, pero vamos, esto dista bastante de ser una buena solución. También nospermite tener dos certificados en dos servidores virtuales diferentes si cada uno de ellos utiliza una IP distinta. Tampoco es muy útil. Si vamos al diálogo "Avanzadas" de la pestaña general de propiedades de un sitio Web de IIS, veremo... [Más]

Pregunta típica: Cómo hacer que funcione un botón al pulsar ENTER en una página ASPX

Pregunta típica: Cómo hacer que funcione un botón al pulsar ENTER en una página ASPX
Las páginas ASPX funcionan mediante la inclusión de un formulario único que contiene todo los controles de la página y que, al enviarlo, actualiza ciertos parámetros para mantener el ViewState, saber qué control ha provocado un evento, etc... El funcionamiento basado en un formulario provoca algunos comportamientos indeseados. Por ejemplo, los cuadros de texto, por defecto, cuando tienen el foco (porque estás escribiendo en ellos) provocan el envío automático del formulario si pulsas ENTER. Si tienes el típico cuadro de búsqueda con un botón o un formulario de recogida de datos con un botón de enviar, al pulsar ENTER conseguirás que se envíe la página pero al no haber pulsado sobre el botón no se detectará el evento correspondiente y por lo tanto no se ejecutará el código del eento click de éste. El resultado es que no se actualiza correctamente la página y simplemente volvemos a tener la misma página exactamente igual y la búsqueda no funciona o los datos no se almacenan. Seguro que... [Más]

Consolidación de Scripts para mejora de rendimiento

Consolidación de Scripts para mejora de rendimiento
Una de las mejoras sencillas y poco llamativas en primera instancia que ha incluido el Service Pack 1 de .NET 3.5 y Visual Studio 2008 es la consolidación de Scripts. Sin embargo es algo interesante que conviene conocer. Se trata básicamente de evitar que el navegador tenga que descargar multitud de pequeños archivos de Script desde el servidor, sustituyéndolos de manera automática por una sola descarga combonada, que es más eficiente y rápida como demostraré enseguida. Es la típica característica que va a pasar inadvertida para la mayoría de los programadores Web pero que es interesante, y por eso me ha apetecido contarla en detalle aquí. Para ello he desarrollado un ejemplo muy simple pero que da una idea de la utilidad de esta característica. En el siguiente vídeo muestro cómo funciona la consolidación de Scripts mediante las nuevas etiquetas CompositeScript. También muestro un control desconocido pero interesante y pensado para ayudarnos a trabajar con esta característica: el co... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico