JASoft.org

Una característica poco conocida de VS2005: puntos de interrupción dinámicos

Una característica poco conocida de VS2005: puntos de interrupción dinámicos
Todos sabemos que para depurar una aplicación una de las herramientas más útiles que tenemos son los puntos de interrupción. Para activar uno basta con colocarse en la línea de código que nos interese inspeccionar y pulsar F9. Ésto coloca un puntito rojo en el lateral del editor que nos indica que posteriormente la ejecución se detendrá allí cuando el código pase por el punto. Con F9 lo desactivamos de nuevo. Pero... ¿se te ha dado por pulsar con el botón derecho sobre uno de estos puntos de interrupción?: Tenemos diversas opciones todas muy interesantes y quizá infrautilizadas. Pero si hay una de ellas que poca gente conoce es la última: "Al visitar..." ¿qué diantres es esto? Pues como su propio nombre indica nos permite especificar qué queremos hacer cuando el depurador llegue a este punto de interrupción. Al elegier esta opción aparece el siguiente diálogo: Con él podremos indicar que, al pasar por este punto de interrupción se anote en la ventana de depuración mucha inform... [Más]

ReMIX'07: El evento al que no debes faltar

ReMIX'07: El evento al que no debes faltar
Los próximos días 4 y 5 de Junio Microsoft celebra en Madrid el evento ReMIX'07. Se trata del principal evento de Microsoft para los diseñadores y desarrolladores Web más vanguardistas. Dos días de duración, 20 sesiones en 2 tracks paralelos y los mejores ponentes nacionales e internacionales nos permitirán entablar contacto con las tecnologías más innovadoras y las nuevas oportunidades de negocio de la Web. Durante estas jornadas Microsoft, de la mano de Forest Key, director de producto de la división de servidores y herramientas de Microsoft, presentará Silverlight (Codename WPF/E).  ¿A quién va dirigido? A desarrolladores vanguardistas interesados en la construcción de sitios web con ASP y AJAX, aplicaciones para Windows Media Center, construcción de Gadgets para Windows Vista y Windows Live y mucho más A diseñadores web vanguardistas interesados en optimizar su sitio web, utilización de WPF y Silverlight (Codename WPF/E) para optimizar la experiencia de usuario más allá d... [Más]

Cambio automático de cultura en ASP.NET 2.0

Cambio automático de cultura en ASP.NET 2.0
A la hora de hacer aplicaciones multi-idioma hay muchas cosas a tener en cuenta. Entre ellas la fundamental es averiguar cuál es el idioma que desea emplear el usuario y adaptar tanto la interfaz de usuario como las otras características culturales (números, fechas, etc) al idioma elegido. Si no disponemos de una lista desplegable, unas banderitas, o algo similar para que los usuarios elijan el idioma, lo que debemos hacer es adaptarnos automáticamente al idioma elgido por éstos en su navegador (Herramientas·Opciones de Internet·General·Idioma). La lista de idiomas allí presente se envía de manera automática y transparente por el navegador (no sólo IE, sino en todos los navegadores) al servidor en forma de cabeceras HTTP con el nombre "Accept-Language". Estas cabeceras se pueden capturar en el servidor muy fácilmente, y en ASP.NET más todavía con la propiedad UserLanguages, y con ellas trabajamos para conseguir la adaptación automática al idioma. El código sería básicamente este (de... [Más]

FAQ: Al pasar al servidor de producción me deja de funcionar la seguridad y me da un error ¿por qué?

FAQ: Al pasar al servidor de producción me deja de funcionar la seguridad y me da un error ¿por qué?
Una pregunta super-frecuente que recibo tanto en los cursos de campusMVP como en eventos es la de:  "¿Por qué cuando paso mi aplicación a producción de repente me deja de funcionar todo lo que tiene que ver con Membership, Roles, etc...? De hecho obtengo un error de que no se puede conectar a la base de datos..." El problema que tienes con la base de datos es que, por defecto, el proveedor de SQL Server que viene con ASP.NET 2.0 parte de la base (equivocada generalmente) de que vas a usar SQL Server 2005 Express Edition. Esta base de datos tiene la particularidad de que es capaz de adjuntar dinámicamente archivos .MDB (de datos SQL Server), es decir, sin necesidad de adjuntarlos. Si te fijas en la carpeta App_Data de tu aplicación debes de tener un archivo ASP_NET.MDB que es el que se crea automáticamente para gestionar estos datos y luego adjuntarlo dinámicamente a la versión Express. El problema es que si usas SQL Server 2005 "completo" o una versión anterior lo de adjuntar... [Más]

¿Qué impacto tiene AJAX en los motores de búsqueda?

¿Qué impacto tiene AJAX en los motores de búsqueda?
Esta pregunta nos la han hecho repetidamente en el Developer Day de Madrid del mes pasado y en los WebDays por España adelante. Se trata de una pregunta lógica pero que al mismo tiempo no nos debería preocupar. Me explico y así de paso trato de responderla... AJAX se lleva mal con los motores de búsqueda, ya que lo que hacemos es recargar, por detrás, con JAVAScript los contenidos –totales o parciales- de la página, y por lo tanto no hay enlaces que seguir ni forma fácil de determinar el nuevo contenido. Ahora bien, todo esto es muy relativo. No vas a usar AJAX para realizar navegación simple en tu sitio Web sino para facilitar al usuario el uso de aplicaciones. Exacto, pongo "aplicaciones" en negrita. Ya que por este motivo no debería impactar apenas nada el uso de AJAX en tu posicionamiento en buscadores puesto que, al igual que antes usabas post-backs recargando la misma página (algo que tampoco se lleva bien con los buscadores obviamente) ahora emplearás AJAX para hacer la apli... [Más]

Fraccionamiento de las secciones de configuración en web.config

Fraccionamiento de las secciones de configuración en web.config
Aunque esto es algo muy poco conocido por los programadores de ASP.NET, es posible mover secciones completas de la configuración a sus propios archivos independientes de web.config. Ello se consigue usando el atributo configSource en la sección correspondiente. Por ejemplo, podemos escribir en el nodo ConnectionStrings lo siguiente: <connectionStrings configSource="conexiones.config"/> y ahora tener un archivo independiente llamado conexiones.config que contenga esa sección completa: <connectionStrings> <add name="Clientes" connectionString="..."/> <add name="Principal" connectionString="..."/> </connectionStrings> Esto puede resultar útil en muchas ocasiones. Por ejemplo, podemos cambiar más fácilmente entre los ajustes de producción y de desarrollo, manteniendo en común el resto de la configuración. Otro motivo sería proteger de manera especial esa sección y otorgarle sus propios permisos de lectura y escritura. Uno de los motivos más i... [Más]

Microsoft: no tenemos nada moderno ni a la última tecnología

Microsoft: no tenemos nada moderno ni a la última tecnología
O eso es lo que afirman si te vas a la galería de Windows Live para SideShow. Sideshow es una nueva característica incorporada a Windows Vista que permite mostrar información del sistema en dispositivos accesorios como pequeñas pantallas en la tapa de un portátil, teléfonos móviles, etc... que, vinculados con Windows y sin necesidad de que el equipo esté operativo al 100% ofrecen información sobre cosas como los correos sin leer o el nivel de batería. Una buena idea pero que no está calando demasiado. Imagino que el motivo es que no hay muchos dispositivos en el mercado capaces de sacarle partido (yo al menos no conozco ninguno). El caso es que si vas a SideShow en Vista y pulsas el botón de "Obtener más gadgets en Internet", te manda a una página en la que no hay absolutamente ningún gadget, en ninguna de las categorías existentes. Por eso, siendo un poco cabroncete, es posible hacer una captura como esta (pulsa para agrandar): Que tiene muchísima gracia, la verdad. Lo mism... [Más]

Información sobre programas en Windows Vista

Información sobre programas en Windows Vista
Una cosa que me gusta especialmente de Windows Vista es toda la información que nos proporciona si sabemos buscar de forma activa, y que supera con mucho a lo que nos ofrecía Windows XP. Aparte del mejorado administrador de tareas (pulsa CTRL+MAY+ESC para lanzarlo), hay muchas otras formas de conocer información del sistema. Me gusta mucho el monitor de confiabilidad del sistema. Lánzalo desde el menú de inicio. Tiene la pinta que se ve a continuación: Pulsa para agrandar Aparte de darnos unas gráficas en tiempo real sobre cómo se está comportando la CPU, el disco la red y la memoria, en la parte inferior, si pulsamos sobre la barra correspondiente, nos ofrecerá en cada una de ellas una lista de los programas en ejecución (con su descripción incluída, lo que nos facilita su localización), con información sobre qué están haciendo en cada instante. Esto nos ayudará a localizar aplicaciones que se comportan de manera inestable, consumen mucha memoria, se "pasan" yendo a disco o es... [Más]

Material del WebDay

Material del WebDay
Hoy por la mañana, David Salgado de Microsoft y yo mismo, hemos presentado en Vigo el WebDay. A lo largo de cuatro horas maratonianas hemos hablado de todos estos temas (espero no olvidarme de ninguno): Accesibilidad y estándares Web Expression Web Designer ASP.NET 2.0 básico ASP.NET 2.0 avanzado AJAX Toolkit para ASP.NET 2.0 Gadgets de Windows Vista y Microsoft Live Windows Presentation Foundation Como lo prometido a los asistentes es deuda, aquí están las presentaciones y materiales del evento para que las descarguéis: · Powerpoint con todas las transparencias de la jornada (formato PPTX) (5.244 KB)· Ejemplo "MiBolsa" de comparador de valores, versiones AJAX y No-AJAX (2.801 KB) Muchas gracias por asistir y esperamos que os haya resultado útil. ¡Que los disfrutes! ¡Ah! y no te olvides de apuntarte al boletín de campusMVP.

Almacenamiento de página o "la caché que dura sólo mientras estás en la página actual"

Almacenamiento de página o "la caché que dura sólo mientras estás en la página actual"
Para rematar con este asunto del almacenamiento temporal de datos de la aplicaicón y cumplir lo prometido en mi anterior post, voy a explicar el almacenamiento de página, que es bastante sencillo. ¿Qué pasa si queremos almacenar cierta información en nuestra página, que valga sólo para el usuario actual, y que esté disponible mientras dure el uso que éste hace de nuestra página?. Podemos utilizar cualquier elemento de almacenamiento, atado al usuario como una variable de sesión, o no atado a éste (como la caché o una variable de aplicación), pero no es una buena solución puesto que tendremos que estar pendientes de liberar esa memoria cuando el usuario deje de utilizar la página y ya no lo necesitemos. Existe un modo mejor de conseguirlo y es a través del ViewState. Almacenamiento de página en ViewState Como sabemos el ViewState se usa generalmente para almacenar el estado de los diferentes controles que colocamos en una página ASPX. Sin embargo esta característica es en realidad ... [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