Parche para debugear aplicaciones ASP.NET en IIS7

Los que uséis VS 2005 para debugear aplicaciones ASP.NET en IIS7 en Windows Vista podéis encontraros uno de los siguientes errores cuando pulsáis F5 para enlazar el debugger en el IDE:

  • «An authentication error ocurred while communicating with the web server». (Ocurrió un error de autenticación mientras se comunicaba con el servidor web).
  • «Debugging failed because integrated Windows authentication is not enabled». (Falló el debugging porque la autenticación integrada de windows no está habilitada).
  • «Authentication error occurred while communicating with the web server.  Try disabling ‘Digest authentication'». (Ocurrió un error de autenticación mientras se comunicaba con el servidor web. Pruebe a deshabilitar ‘Digest authentication’).

Estos errores ocurren debido a la forma en que VS 2005 busca el ID del proceso IIS7 en donde se está ejecutando ASP.NET. Cuando usamos F5 para «autoenlazar» el debugger con Visual Studio le manda una petición HTTP a ASP.NET usando la autenticación de Windows para obtener los detalles del proceso. Esto funciona bien si tenéis habilitada la autenticación de windows en el servidor web, y se está usando la autenticación de Windows como método principal de autenticación en nuestra aplicación web. Sin embargo, los problemas llegan bajo ciertas circunstancias:

  1. Si tenemos habilitada la autenticación por formularios en ASP.NET y estamos ejecutando el «modo integrado» en IIS7. Esto bloquea el manejador del proceso.
  2. Si no tenemos el módulo de autenticación de Windows instalado en el servidor web (ahora es un componente opcional).
  3. Si estamos ejecutando Windows Vista Home (que no soporta el módulo de autenticación de windows).

Descarga del parche.

Para solucionar estos casos que bloquean el «autoenlazado», hemos publicado un parche para Visual Studio 2005.  Soluciona los problemas de los que hemos hablado antes. Podéis descargarlo desde aquí. Una vez que lo instaléis, cuando pulsemos F5 en Visual Studio todo funcionará como antes.

Podeis leer más sobre este parche y sobre los errores que corrige en este artículo, y en los siguientes post aquí y aquí.

Si tenéis algún problema instalando el parche o si continuais con los mismo problemas una vez instalado, podéis contactar con el soporte de Microsoft. La llamadas a soporte son gratuitas si están relacionadas con un bug de un producto. Podeis ver los detalles sobre cómo contactar con soporte en esta página.

Cómo enlazar manualmente el debugger a un proceso.

He ayudado a varias personas con este problema ántes de que se publicase el parche. Una de las cuentas de las que me di cuenta mientras lo hacía fué que un montón de desarrolladores no se dan cuenta de las opciones disponibles cuando están debuggeando, y las diferentes formas que podemos usar Visual Studio para debugear un proceso o aplicación.

Cuando pulsamos F5 en Visual Studio (DebugStart Debugging) le estamos diciendo a Visual Studio que arranque la aplicación y que la enlaze al debugger. Una alternativa que podemos usar es debugear una aplicación que ya está siendo ejecutada en el menú DebugAttach to Process…

Cuando seleccionamos ese menú, nos muestra un cuadro de diálogo que nos mostrará los procesos en ejecución (también podemos indicar una dirección IP para debugear en una máquina remota):

Si queremos debugear una aplicación ASP.NET que se está ejecutando en IIS, aseguraos de marcar el checkbox de «Show processes in all sessions» (desde que IIS se ejecuta como un servicio de windows y como una cuenta local). Luego, buscamos en la lista el proceso w3wp.exe (es el nombre del proceso de IIS6  e IIS7).

Haciendo doble clic en cualquier proceso hará que Visual Studio enlaze el debugger a ese proceso – en este punto, todos los puntos de ruptura que hallamos definido se lanzarán y ya podremos debuggear cualquier proceso con VS2005 como si lo hubiésemos lanzado con F5. Esto funciona tanto para aplicaciones web como para aplicaciones windows, y puede ser muy útil cuando ya tenemos la aplicación en ejecución. Daros cuenta de que ya no tendréis que hacer esto si tenéis instalado el parche.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos. Microsoft Student Partner.

toH tlhIngan Hol DajatlhlaH ‘e’ DaneH’a’?

Nueva versión de ASP.NET AJAX Control Toolkit y videos/artículos de ASP.NET AJAX

La semana pasada el equipo de la ASP.NET AJAX Control Toolkit lanzó la Build 10618 del ASP.NET AJAX Control Toolkit. Corrige unos cuantos problemas encontrados a principios de mes, entre otros:

Intellisense en JavaScript con VS 2008

Una de las características que más le gusta a los desarrolladores web de VS 2009 es el soporte intellisense para JavaScript. También está disponible en Visual Web Developer 2008 express, y hace que el uso de JavaScript y la construcción de aplicaciones AJAX sea realmente fácil.

Aquí tenéis una pequeña lista de las nuevas características del intellisense de JavaScript. Continúa leyendo Intellisense en JavaScript con VS 2008

Soporte Multi-Targeting de VS 2008

A principios de este mes en el TechEd anunciamos el nombre oficial de Visual Studio «Orcas» – que se llamará Visual Studio 2008. También dijimos que el nombre oficial del .NET Framework «Orcas» será .NET Framework 3.5 (incluye LINQ, soporte integrado para ASP.NET AJAX, nuevos controles de datos para ASP.NET, y mucho más). Continúa leyendo Soporte Multi-Targeting de VS 2008

Trucos: Creación de programas de instalación para ASP.NET con VS 2005

Escenario

Habéis echo una aplicación web ASP.NET con Visual Studio 2005, y queréis permitir a vuestros clientes que puedan instalar y desplegarla en sus servidores a través de un programa de instalación.

Concretamente, quereis crear un programa de instalación estándar de Windows que cree y configure la aplicación en el IIS, que copie todos los archivos necesarios para la aplicación en el servidor, y comprobar que ASP.NET 2.0 está correctamente configurado para que se ejecute la aplicación. También queréis que el programa de instalación le pregunte al cliente por la localización de la base de datos que usará la aplicación, y que actualize automáticamente el archivo web.config con las cadenas de conexión a la base de datos que el cliente proponga. Continúa leyendo Trucos: Creación de programas de instalación para ASP.NET con VS 2005

Nueva Release del ASP.NET AJAX Control Tookit

Ayer el equipo de ASP.NET AJAX Control Tookit publicó una nueva versión. Podéis descargarla de la web http://ajax.asp.net, y ejecutar los ejemplos en la página de ejemplos.

El ASP.NET AJAX Control Toolkit es una descarga libre y contiene más de 40 controles AJAX que funcionan justo encima del núcleo de ASP.NET AJAX 1.0. Además de tener a algún desarrollador de Microsoft trabajando en el, el proyecto tiene a más de 15 contribuyendo añadiendo muchas capacidades y controles. Continúa leyendo Nueva Release del ASP.NET AJAX Control Tookit

Enlaces 31 de Mayo: ASP.NET, ASP.NET AJAX, Visual Studio y.NET

Aquí tenéis la lista de links esta semana sobre .NET.

ASP.NET

Documentación y sitio del proyecto SubSonic: Subsonic es una herramienta libre y de código abierto para ASP.NET que aporta una implementación de un OR/M que aumenta la productividad a la hora de crear sitios web. Esta mañana temprano Rob Conery y el equipo de Subsonic han lanzado su nuevo sitio del proyecto y la documentación – completada con videos, walkthroughs y ejemplos.

  • Examinando Membership, Roles y Profile System de ASP.NET 2.0: Gran serie de post de Soctt Mitchell y www.4GuysFromRolla.com que cubren el tema de memberchip de ASP .NET 2.0 y sistemas de administración de roles con autenticación de formularios. Para más tutoriales sobre seguridad en ASP .NET os aconsejo que hechéis un vistazo a mis artículos de seguridad, aquí.

  • Roles en la herramienta de administración de tu web (parte 1) y parte 2: Estos dos recientes artículos de 4GuysFromRolla tratan el cómo un sistema de administración de roles online encima de las apis de Membership y Roles de ASP.NET. Podéis usar estos artículos para integrar una herramienta de administración html para administrar los usuarios de vuestra página.

  • Soporte oficial de Oracle para el ASP.NET Provider: Oracle ha publicado una beta para conectarse a sus bases de datos usando .NET. En esta release se incluyen providers para almacenar Membership, Roles, Profile, Session State, Web Parts y SiteMap en bases de datos Oracle. Esta descarga da soporte para invalidación en la cache de ASP.NET cuando se usan las características de Output Caching y Cache en ASP.NET

  • Páginas asincronas en ASP.NET 2.0: Jeff Prosise ha escrito un artículo para MSDN sobre el soporte para páginas asíncronas de ASP.NET. Async Pages fue una característica introducida en ASP.NET 2.0, y puede aumentar significativamente el rendimiento de un sitio web cuando llamamos a un servicio web remoto o a un endpoint de red permitiendo que el thread de ASP.NET bloquee el contenido que se devuelve del sitio remoto. Mads Kristensen posteó un truco cuando usa esta característica – que consiste en asegurarse de aumentar el límite de la conexión para obtener el mayor rendimiento posible.

ASP.NET AJAX

Visual Studio

  • Nueva versión libre de Refactor para ASP.NET: Developer Express ha publicado un addin para Visual Studio para soportar 29 refactorings comunes en escenarios ASP.NET (añadir validación, extraer contentplaceholder, extraer el estilo, exportar a usercontrol, etc). Increibleble.
  • Resharper 3.0 beta: JetBrains ha publicado una beta de su popular adding de Visual Studio. Joe White publicó 31 Resharper Tutorials este año que supongo os gustará.
  • ¿Qué significa la raya roja en las propiedades de CSS en VS Orcas?: Un artículo curioso del equipo de herramientas web de Vs sobre algunas características del diseñado de Css que viene con Visual Web Developer «Orcas» Express y Visual Studio «Orcas».

.NET

  • MBUnit 2.4 RTM: Andrew Stopford y su equipo han publicado la versión 2.4 de MBUnit – un framework libre para test unitarios para .NET
  • IronPython Cookbook: Este Wiki online contiene toneladas de contenidos sobre cómo empezar con IronPyton para .NET (Implementación de Microsoft de Python).

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos. Microsoft Student Partner.

toH tlhIngan Hol DajatlhlaH ‘e’ DaneH’a’?

LINQ to SQL (2ª Parte – Definiendo nuestras clases del modelo de datos)

En la primera parte de la serie de post sobre LINQ to SQL hablé sobre «¿qué es LINQ to SQL?» y vimos por encima algunos escenarios que permite.

En aquél post pusimos unos cuantos ejemplos de código donde demostrábamos cómo mejorar la parte de datos usando LINQ to SQL:

Links 22 de Mayo: ASP.NET, Visual Studio, Silverlight, WPF y .NET

Una de las cosas que voy a intentar empezar es poner un post semanal con links a sitios de interes sobre temas de .NET que encuentre en la web. Aquí tenéis los links de esta semana Continúa leyendo Links 22 de Mayo: ASP.NET, Visual Studio, Silverlight, WPF y .NET

Intellisense de Javascript en Visual Studio "Orcas"

En Febrero escribí un post llamado Mi primer vistazo a Orcas (inglés). Comentaba alguna de las mejoras para el desarrollo web que iban a venir con Visual Studio «Orcas». Si no lo habéis leído, hacedlo.

Una de las característica más esperada es el soporte para intellisense de JavaScript en Visual Studio Orcas (esta feature también funciona con la edición Visual Web Developer Express).

Si alguna vez os habéis sentido frustados por tener que escribir cada línea de Javascript, os gustará que Visual Studio «Orcas» traiga soporte completo para el intellisense de Javascript en los archivos .aspx, .html, así como en archivos externos .js.  Tanto soporte para Javascript como para código cliente de ASP .NET AJAX.

Podéis leer algunas de las características para Javascript de Visual Studio Orcas en estos dos post del blog del equipo de herramientas web para Visual Studio:

Como Wally escribió recientemente, una de las cosas «chulas» del intellisense de Javascript en Visual Studio «Orcas» está diseñado para funcionar «out of the box». Es decir, no tenéis que ejecutar ninguna herramienta en vuestros archivos Javascript para que funcione el intellisense. Ni siquiera teneis que escribir vuestro código javascript de ninguna forma especial para que funciones. Si escribís vuestros códigos de javascript en un archivo externo, obtendremos soporte intellisense en Visual Studio automáticamente.

Commentarios para documentación de Javascript opcional.

Visual Studio nos permite además, opcionalmente, añadir comentarios para la documentación en vuestros códigos/librerías que pueden facilitar el trabajo del motor de intellisense, así como permitir a los desarrolladores aportar documentación en los comentarios que el motor del intellisense del VS puede coger y usarlo para resúmenes, validación y descripciones.

Por ejemplo, si añadimos este comentario resumen XML en nuestro código:

Visual Studio mostrará automáticamente el detalle del resumen, así como ayuda en línea mientras escribimos los valores de los parámetros:

Formato de documentación en los comentarios de Javascript.

Bertrand Le Roy del equipo de ASP .NET escribió un post que cuenta en detalle el formato de los comentarios de Javascript para la documentación que usan tanto ASP .NET AJAX y Visual Studio «Orcas». Entre otras cosas, incluye detalles sobre:

  • Cómo añadir resúmenes de los detalles de las clases, métodos y parámetros.
  • Cómo localizar la documentación en Javascript.
  • Cómo indicar que un archivo Javascript externo requiere (o referencia) otro archivo externo y asume que los métodos y clases de aquél están al alcance cuando el primer archivo Javascript se usa (esto es increíblemente útil cuando usamos cualquier librería de AJAX).

Os recomiendo que el hechéis un vistazo aquí.

El ASP.NET AJAX Control Tookit también tiene un MSBuild que podéis añadir a vuestros proyectos web para poder obtener esta documentación en vuestros archivos Javascript cuando compiláis un proyecto en modo release. Ésto os permite mantener versiones debug/descripción de vuestros Javascripts en tiempo de desarrollo, y entonces poder tener un puente para generar versiones optimizadas para descargas efficientes en tiempo de ejecución.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos. Microsoft Student Partner