JASoft.org

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]

El Gobierno planea eliminar todas las ingenierías superiores

El Gobierno planea eliminar todas las ingenierías superiores
Muy fuerte esto ¿no crees? A continuación, se reproduce el artículo aparecido en El País, del 10.04.07:                                        El Gobierno planea eliminar todas las ingenierías superiores                                                    Los directores de estas escuelas y los colegios profesionales piden la paralización del proyecto   SUSANA PÉREZ DE PABLOS - Madrid - 10/04/2007   Las 10 ingenierías superiores que actualmente se imparten en España y sus respectivos colegios profesionales desaparecerán, según se desprende de un d... [Más]

Dar formato a partes de un párrafo en Expression Web Designer

Dar formato a partes de un párrafo en Expression Web Designer
Como es sabido me encanta Expression Web Designer. Eso no significa que lo encuentre perfecto. Ni mucho menos. De hecho hay una cosa que me irrita muchísimo y es que cuando en un párrafo tienes seleccionada una frase o una palabra y le aplicas algún formato (por ejemplo negrita o cursiva), en lugar de aplicárselo a la selección lo hace al párrafo completo. Si escribes textos largos con este editor te aseguro que es realmente irritante. El asunto se justifica porque Expression Web es un editor CSS puro que cumple con XHTML y por lo tanto no están permitidas las etiquetas del estilo <b></b> o <i></i>, y similares para aplicar estilos. Todos deben definirse como estilos CSS en etiquetas. Lo que me pregunto es ¿por qué demonios los que hicieron la herramienta no hicieron que se metiera automáticamente un <span> rodeando la selección para luego aplicar el estilo en dicha etiqueta?. El caso es que la única forma que he encontrado de poder aplicar estilos... [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