.NET: MSDN Magazine Articles
MSDN Magazine: .NET rss

All MSDN Magazine Topics
  • Visualización de .NET: Visualizar información con .NET
    Laurence Moroney - Agosto 2009
    Generalmente, contar con la capacidad para dibujar imágenes no basta para una buena plataforma de visualización de información. La clave para generar una plataforma de visualización son las capacidades como interactividad, generación de metadatos y superposición de datos relacionados. Es necesario un grado de flexibilidad que permita representar cualquier tipo de dato, de cualquier manera y en cualquier momento.

  • Entity Framework: Patrones de aplicaciones de n niveles
    Daniel Simmons - Agosto 2009
    En este artículo se analiza el éxito de los patrones de n niveles y algunas de las API y asuntos clave asociados a Entity Framework. También se incluye un anticipo de las características incluidas en Microsoft .NET Framework 4 que facilitarán significativamente el desarrollo de software de n niveles.

  • Acceso a datos de EF: Procedimientos recomendados para EF v2 y arquitectura de acceso a datos
    Tim Mallalieu - Agosto 2009
    Los desarrolladores aplican una amplia gama de filosofías de desarrollo y estilos de arquitectura. Este artículo explora tres perspectivas habituales sobre el desarrollo de aplicaciones y describe cómo emplear Entity Framework en cada una de ellas. Específicamente, indaga los estilos de desarrollo centrados en formularios, en modelos y en código y su relación con Entity Framework.

  • Pinceladas sobre seguridad: Agilidad criptográfica
    Bryan Sullivan - Agosto 2009
    Aunque se usen sólo los algoritmos más seguros y las claves más largas, nada garantiza que el código escrito hoy se mantendrá seguro. La mejor alternativa es planear en favor de la agilidad desde un principio. En lugar de usar algoritmos criptográficos específicos y codificados de forma rígida, use una de las características de agilidad criptográfica integradas en Microsoft .NET Framework. Este artículo le mostrará cómo hacerlo.

  • .NET Matters: Agregar excepciones
    Stephen Toub - Agosto 2009
    En .NET, las excepciones son el mecanismo fundamental para comunicar errores u otras condiciones excepcionales. La columna de este mes entrega información sobre cómo agregar excepciones que ayuden a administrar una variedad de escenarios en las que puedan surgir excepciones múltiples a partir de una operación, lo que incluye escenarios donde hay paralelismo y simultaneidad.

  • Todo sobre CLR: Creación de tuplas
    Matt Ellis - Julio 2009
    En este artículo se describe la introducción de un nuevo tipo, llamado System.Tuple, y otras nuevas adiciones para la próxima versión de Microsoft .NET Framework 4.

  • Foundations: Seguridad del .NET Service Bus
    Juval Lowy - Julio 2009
    Esta columna muestra cómo asegurar el .NET Services Bus y también brinda algunas utilidades y clases auxiliares para automatizar muchos de los detalles.

  • Diseño controlado por pruebas: Uso de simulacros y pruebas para diseñar objetos basados en funciones
    Isaiah Perumalla - Junio 2009
    Use el Desarrollo controlado por pruebas con objetos ficticios para diseñar código orientado a objetos en términos de funciones y responsabilidades, no de categorización de objetos en jerarquías de clases.

  • Velocidad: Creación de mejores aplicaciones controladas por datos con almacenamiento en caché distribuido
    Aaron Dunnington - Junio 2009
    Velocity de Microsoft expone una memoria en caché unificada y distribuida para consumo de aplicaciones cliente. Le mostramos cómo agregar Velocity a sus aplicaciones controladas por datos.

  • Diversión en el mismo nivel: Aplicación de procesamiento de trabajo punto a punto con WCF
    Matt Neely - Junio 2009
    Demostramos la creación de una plataforma de procesamiento punto a punto en la que varios actores trabajan juntos con un fin en común: lograr terminar su trabajo.

  • Todo sobre CLR: Auditoría de uso de memoria para aplicaciones .NET
    Subramanian Ramaswamy y Vance Morrison - Junio 2009
    El uso de memoria puede afectar directamente la velocidad a la que se ejecuta una aplicación, por lo que es importante optimizarlo. En este artículo analizamos los aspectos básicos de la optimización de la memoria para programas de .NET.

  • Patrones en práctica: El patrón de la unidad de trabajo y la ignorancia de la persistencia
    Jeremy Miller - Junio 2009
    Jeremy Miller continúa su análisis de los patrones de persistencia al revisar el patrón de diseño de la unidad de trabajo y examina los problemas en torno a la ignorancia de la persistencia.

  • Ejecución de pruebas: .Pruebas de módulos .NET con IronPython
    James McCaffrey - Junio 2009
    Este mes demostramos lo fácil que es usar IronPython para probar las bibliotecas basadas en .NET.

  • El programador políglota: Cosecha de los beneficios de Cobra
    Ted Neward - Junio 2009
    Cobra, descendiente de Python, ofrece un modelo de programación dinámico, combinado y escrito en forma de estadística, funciones integradas de prueba unitaria, capacidades de scripting y mucho más. Sienta el poder aquí.

  • Servicios .NET RIA: Generación de una aplicación de datos Expense con Silverlight 3
    Jonathan Carter - Mayo 2009
    Los servicios de .NET RIA proporciona un grupo de componentes de servidor y extensiones ASP.NET tales como autenticación, roles y la administración de perfiles. Nosotros le mostraremos cómo funcionan.

  • Todo sobre CLR: Descripción general del CLR Binder
    Aarthi Ramamurthy y Mark Miller - Mayo 2009
    En este artículo, describiremos algunos de los procedimientos recomendados para enlace y carga de ensamblados usando CLR.

  • Extreme ASP.NET: La vida y los tiempos de un controlador ASP.NET MVC
    Scott Allen - Mayo 2009
    Aquí el autor disecciona el marco de trabajo de ASP.NET MVC y describe cómo funcionan los controladores. Luego explica cómo interactúa el marco de trabajo con sus controladores y cómo puede influenciar aquellas interacciones.

  • Foundations: Control de versiones de flujos de trabajo
    Matthew Milner - Mayo 2009
    Los programadores a menudo luchan con el control de versiones de flujos de trabajo y sus clases relacionadas. Matt Milner analiza los temas básicos relacionados con el control de versiones de flujo de trabajo y entrega recomendaciones para hacer cambios en la definición, las actividades y los servicios de flujo de trabajo.

  • Avanzando: Creación de juegos en la clave de Zune
    Mike Calligaro - Mayo 2009
    Mike Calligaro enseña lo básico en el uso de XNA Game Studio 3.0 para escribir juegos de Zune.

  • Bajo la tabla: Programación con Filestreams en SQL Server 2008
    Bob Beauchemin - Mayo 2009
    Siempre ha existido controversia acerca de que si los objetos binarios de gran tamaño, como documentos y elementos multimedia, deben ser almacenados en las bases de datos o en el sistema de archivos. En SQL Server 2008 no necesita elegir; el almacenamiento filestream proporciona lo mejor de ambas opciones.

  • Lecciones aprendidas: Optimización de una aplicación de servicios y software a gran escala
    Udi Dahan - Abril 2009
    Udi Dahan explica cómo su equipo identificó y solucionó problemas imprevistos al desarrollar una aplicación comercial de servicios y software a gran escala.

  • Computación nube: Creación de aplicaciones distribuidas con .NET Services
    Aaron Skonnard - Abril 2009
    Mostramos cómo .NET Services dentro de la plataforma de servicios Azure hace que sea fácil incorporar aplicaciones de flujo de trabajo a la nube.

  • Tome el control: Use SharePoint para administrar los servicios de Windows
    Pav Cherny - Abril 2009
    En este artículo mostramos cómo integrar una solución basada en servicios de Windows con SharePoint. Los resultados permiten proporcionar, iniciar, detener y quitar instancias de servicio a través de la Administración central de SharePoint 3.0.

  • Todo sobre CLR: Optimizaciones de CLR en .NET Framework 3.5 SP1
    Surupa Biswas - Abril 2009
    Vea los cambios que el equipo de CLR realizó en CLR para NET Framework 3.5 SP1 y las mejoras que obtendrá al ejecutar sus aplicaciones existentes basadas en CLR 2.0 contra este service pack.

  • Patrones en práctica: Patrones de persistencia
    Jeremy Miller - Abril 2009
    Aquí examinamos patrones de persistencia de datos para determinar los que se adecuan mejor a sus necesidades. Revisamos diversos patrones, los que incluyen el registro activo, el asignador de datos, el repositorio, el mapa de identidad, la carga bajo demanda y el proxy virtual.

  • Foundations: Trabajar con el .NET Service Bus
    Juval Loy - Abril 2009
    Posiblemente .NET Services Bus sea la pieza más útil, eficaz y accesible de la nueva iniciativa de computación nube de Windows Azure. Vea cómo administra las comunicaciones de la nube.

  • Patrones de Silverlight: Model-View-ViewModel en aplicaciones de Silverlight 2
    Shawn Wildermuth - Marzo 2009
    En este artículo aprenderá a evitar los problemáticos acoplamientos fuertes aplicando el patrón Model-View-ViewModel en Silverlight 2.

  • SharePoint: 10 prácticas recomendadas para crear soluciones SharePoint
    E. Wilansky, T. Stojecki, P. Olszewski y S. Kowalewski - Marzo 2009
    En este artículo presentamos una síntesis de varios procedimientos recomendados para desarrollar soluciones SharePoint.

  • MSBuild: Procedimientos recomendados para crear compilaciones confiables, parte 2
    Sayed Ibrahim Hashimi - Marzo 2009
    Averigüe cómo usar MSBuild para administrar y controlar mejor grandes proyectos de compilación en Visual Studio.

  • Todo sobre CLR: Almacenamiento aislado en Silverlight 2
    Justin Van Patten - Marzo 2009
    Consulte cómo sacar el máximo partido del almacenamiento aislado en Silverlight para mantener sus aplicaciones seguras.

  • Tecnología de vanguardia: Explorar secuencias de comando de cliente enriquecidas con jQuery, parte 1
    Dino Esposito - Marzo 2009
    Gracias a los selectores y al encadenamiento de funciones, jQuery permite escribir código compacto que funciona en múltiples exploradores.

  • El programador políglota: Mezclar y hacer coincidir lenguajes
    Ted Neward - Marzo 2009
    Consulte por qué necesita ser un programador políglota y qué puede conseguir en sus proyectos al mezclar y hacer coincidir lenguajes.

  • Ejecución de pruebas: Automatización de pruebas de interfaz de usuario en aplicaciones WPF
    James McCaffrey - Marzo 2009
    Este mes describimos técnicas para automatizar pruebas de IU en aplicaciones de Windows Presentation Foundation.

  • Pinceladas sobre seguridad: Proteja su sitio con reescritura de URL
    Bryan Sullivan - Marzo 2009
    Descubra las numerosas maneras en que puede reescribir direcciones URL para defenderse de las vulnerabilidades comunes de la Web.

  • Extreme ASP.NET: Crear gráficos con ASP.NET y LINQ
    K. Scott Allen - Marzo 2009
    La combinación de Chart Control de ASP.NET y la potencia de consulta de datos de LINQ le permite crear gráficos flexibles. Descubra cómo hacerlo aquí.

  • Código malintencionado: 3 sugerencias importantes para el desarrollo en Silverlight
    Jeff Prosise - Marzo 2009
    Como plataforma web, Silverlight debería ser rápido. No haga esperar a sus usuarios por no hacer caso de estas sugerencias de rendimiento.

  • Team System: Personalización de Team Build 2008
    Brian A. Randell - Marzo 2009
    Descubra cómo modificar el comportamiento predeterminado de Team Build, amplíe sus compilaciones con tareas personalizadas y aproveche las mejoras introducidas en Team Build 2008 SP1.

  • Foundations: Escribir ItemsControls más eficaces
    Charles Petzold - Marzo 2009
    En esta artículo, Charles Petzold explica varias técnicas para mejorar el rendimiento de ItemsControls.

  • Prácticas recomendadas: Introducción al diseño controlado por dominio
    David Laribee - Febrero 2009
    Le ofrece una introducción gradual al diseño y desarrollo de modelos de dominio enriquecidos como parte de la integración del diseño controlado por dominio (DDD) a su trabajo de codificación.

  • Interoperabilidad .NET: Introducción a IronRuby y RSpec, parte 1
    Ben Hall - Febrero 2009
    Consulte cómo IronRuby le permite emplear el sencillo lenguaje Ruby para crear pruebas de aceptación que interoperan con código compatible con .NET.

  • Conceptos básicos de "Oslo": Crear aplicaciones basadas en metadatos con la plataforma "Oslo"
    Chris Sells - Febrero 2009
    Le presentamos "Oslo" y mostramos cómo MSchema y MGraph le permiten crear aplicaciones controladas por metadatos. Definiremos tipos y valores en "M" y los implementaremos en el repositorio.

  • Patrones: Aplicaciones WPF con el patrón de diseño Model-View-ViewModel
    Josh Smith - Febrero 2009
    En este artículo explicamos lo simple que puede resultar crear una aplicación WPF correctamente con el patrón MVVM.

  • Silverlight: Crear aplicaciones de línea de negocio con Silverlight, parte 2
    Hanu Kommalapati - Febrero 2009
    Aquí concluiremos la aplicación cliente de centro de llamadas que comenzamos el mes pasado. Las técnicas mostradas le ayudarán a crear soluciones empresariales para el mundo real con Silverlight.

  • Todo sobre CLR: Control de excepciones de estado corruptas
    Andrew Pardoe - Febrero 2009
    El uso de un control de excepciones de talla única implica un riesgo, y debe aprender a evitarlo siendo lo más específico posible en el modo de gestionar los errores.

  • Puntos de datos: Sindicación de datos y almacenamiento aislado en Silverlight
    John Papa - Febrero 2009
    Aquí creamos una aplicación de lector de noticias distribuidas para ilustrar el uso de almacenamiento aislado y sindicación de datos en Silverlight.

  • Tecnología de vanguardia: Administrar la entrega de contenido dinámico en Silverlight, parte 2
    Dino Esposito - Febrero 2009
    Este mes Dino continúa su revisión de la gestión del contenido dinámico de Silverlight tratando el almacenamiento en caché y el almacenamiento aislado.

  • Los patrones en la práctica: Convención sobre configuración
    Jeremy Miller - Febrero 2009
    Tratamos algunas técnicas que pueden adoptarse para reducir la cantidad de código de mantenimiento que debe escribir, de modo que pueda centrarse en la esencia de la aplicación.

  • Bases: Control de errores en flujos de trabajo
    Matt Milner - Febrero 2009
    Los flujos de trabajo a menudo definen procesos de larga ejecución y un error no controlado provoca generalmente su finalización. Evite esta situación gestionando las excepciones de manera adecuada.

  • .NET Matters: Ejecución ordenada con ThreadPool
    Stephen Toub - Febrero 2009
    Este mes le demostramos cómo utilizar el ThreadPool para dar soporte a una ejecución ordenada sin tener que crear subprocesos personalizados usted mismo.

  • Para empezar, consulte: Servicios WCF y WF en .NET Framework 4.0 y “Dublin”
    Aaron Skonnard - Enero 2009
    Exploramos algunas de las nuevas características clave de WCF y WF en .NET Framework 4.0, así como las nuevas capacidades de servidor de aplicaciones que proporcionan las extensiones de “Dublin”.

  • Marco Geneva: Creación de un servicio de token de seguridad personalizado
    Michele Leroux Bustamante - Enero 2009
    Un servicio de token de seguridad, o STS, actúa como una puerta de enlace de seguridad que autentica a los autores de la llamada y emite tokens de seguridad que llevan las solicitudes que describen al autor de la llamada. Descubra cómo puede crear un STS personalizado con “Geneva” Framework.

  • Silverlight: Crear aplicaciones de línea de negocio con Silverlight, parte 1
    Hanu Kommalapati - Enero 2009
    Examine la creación de una aplicación cliente de centro de llamadas para obtener información acerca de cómo crear soluciones empresariales para el mundo real con Silverlight.

  • VSTS 2010: Herramientas de planeación ágil en Visual Studio Team System 2010
    Ajoy Krishnamoorthy - Enero 2009
    Visual Studio Team System (VSTS) 2010 presenta libros e informes de registro de productos e iteraciones que ayudarán a los equipos ágiles a planear y a administrar versiones e iteraciones.

  • Flujo de trabajo de ASP.NET: Aplicaciones web que admiten operaciones de larga ejecución
    Michael Kennedy - Enero 2009
    La integración del flujo de trabajo en las aplicaciones ASP.NET supone la comunicación con las actividades a través de una cola de flujo de trabajo y hospedar el tiempo de ejecución en la clase de aplicaciones globales. Le mostraremos cómo hacerlo.

  • Cuadro de herramientas: C# JavaScript, blog de Eric Lippert y mucho más
    Scott Mitchell - Enero 2009
    Escribir código JavaScript en C# y convertirlo, blog de programación de Eric Lippert y estudiar T-SQL 2008.

  • Todo sobre CLR: Procedimientos recomendados para la interoperabilidad de código administrado y nativo
    Jesse Kaplan - Enero 2009
    Existen numerosos factores que se deben tener en cuenta al crear una aplicación con código administrado y nativo. Descubra cómo emplear la interoperabilidad y cómo elegir la que le resulte adecuada.

  • Instintos básicos: Inspeccionar objetos COM con reflexión
    Lucian Wischik - Enero 2009
    La reflexión resulta útil para la depuración y el registro, aparte de proporcionar información de tipo necesaria. Verá cómo usar la reflexión en los tipos COM.

  • Tecnología de vanguardia: Administrar la entrega de contenido dinámico en Silverlight, parte 1
    Dino Esposito - Enero 2009
    Este mes Dino se ocupa del problema del tamaño de descarga grande de las aplicaciones Silverlight y explica cuándo usar la transmisión por secuencias, cuándo dividir la descarga y otras técnicas para obtener un mejor rendimiento de la transmisión.

  • Estación de servicio: Introducción a los servicios RESTful con WCF
    Jon Flanders - Enero 2009
    Tratamos algunos de los principios básicos de REST y presentamos una implementación de un servicio RESTful con WCF.

  • Extreme ASP.NET: Enrutar con formularios Web Forms ASP.NET
    Scott Allen - Enero 2009
    Averigüe cómo obtener ventajas del reenrutamiento a la vez que se minimizan los riesgos con este examen detallado de la reescritura de direcciones URL en ASP.NET.

  • Bases: Aplicar transacciones a servicios fácilmente
    Juval Lowy - Enero 2009
    El tema del número de este mes de Bases es la administración de la recuperación de estado y de errores con transacciones.

  • Net Matters: Acceso de ronda recíproca a ThreadPool
    Stephen Toub - Enero 2009
    Stephen Toub muestra cómo agregar compatibilidad de programación de ronda recíproca en ThreadPool para obtener un control de procesamiento más granular.

  • WF real: Procedimientos recomendados para las aplicaciones de Windows Workflow Foundation
    Josh Lane - Diciembre 2008
    En la base de Windows Workflow Foundation está su modelo de programación declarativa. A continuación se indican algunos procedimientos recomendados al usar WF para llevar a cabo soluciones de software en el mundo real.

  • Visual Studio OBA Tools: Simplificación del desarrollo OBA con las extensiones de API de interoperabilidad
    Andrew Whitechapel, Phillip Hoff y Vladimir Morozov - Diciembre 2008
    Para presentarle las extensiones de API de interoperabilidad VSTO Power Tools Office, recorreremos el desarrollo de una aplicación que automatiza Outlook, Excel y Word.

  • Acceso a datos de SOA: Acceso flexible a datos con LINQ To SQL y Entity Framework
    Anthony Sneed - Diciembre 2008
    La creación de una capa de acceso a datos con LINQ to SQL y ADO.NET Entity Framework permite desacoplar la aplicación de la tecnología de persistencia que usa.

  • Marco Geneva: Un mejor enfoque para crear servicios WCF basados en solicitudes
    Michele Leroux Bustamante - Diciembre 2008
    A continuación presentamos “Geneva” (nombre en código de Microsoft), el nuevo marco para crear aplicaciones y servicios basados en solicitudes, y escenarios de seguridad federada.

  • Cuadro de herramientas: Herramientas de análisis estático para .NET y el blog de Matt Berseth
    Scott Mitchell - Diciembre 2008
    Este mes examinamos FxCop y otras herramientas que aplican sus reglas de diseño, junto con jQuery.

  • Todo sobre CLR: Administración de subprocesos en CLR
    Erika Fuentes y Eric Eilebrecht - Diciembre 2008
    Obtener el rendimiento que se desea en aplicaciones simultáneas no es tan sencillo como se podría pensar. Obtenga información acerca de los problemas de subprocesos que pueden afectar a su aplicación.

  • Conceptos básicos avanzados: La clase ObservableCollection
    Ken Getz - Diciembre 2008
    Ken Getz muestra cómo el evento CollectionChanged permite reflejar los cambios en el origen de datos subyacente en los controles de datos enlazados.

  • Tecnología de vanguardia: Patrones de presentación de ASP.NET
    Dino Esposito - Diciembre 2008
    La elección del patrón de diseño adecuado para la aplicación web ASP.NET puede ayudarle a alcanzar la separación de cuestiones entre la capa de presentación y las capas subyacentes a ella.

  • Bases: Representación de texto en una ruta con WPF
    Charles Petzold - Diciembre 2008
    Con Windows Presentation Foundation (WPF) puede distribuir el texto en una ruta, después animar los puntos individuales que definen la ruta y ver los caracteres rebotar como respuesta.

  • Juego de preguntas y respuestas sobre seguridad: Ponga a prueba sus conocimientos sobre seguridad
    Michael Howard y Bryan Sullivan - Noviembre 2008
    Nuestro experto en seguridad Michael Howard presenta 10 fragmentos de código vulnerables. Su misión es encontrar las deficiencias (es decir, las prácticas de seguridad incorrectas) en el código.

  • Cuadro de herramientas: Programación en línea, blog de SQL de Jeff Smith, expresiones regulares fáciles y mucho más
    Scott Mitchell - Noviembre 2008
    Este mes Scott trata la mejora de las habilidades de desarrollo, la escritura de expresiones regulares, un control de programación web y un blog de sugerencias para SQL.

  • Todo sobre CLR: Aplicaciones internacionales
    Melitta Andersen - Noviembre 2008
    El equipo de CLR echa un vistazo al espacio de nombres System.Globalization para explicar cómo gestionar formatos de datos para una localización y globalización apropiadas.

  • Puntos de datos: La cabeza en las nubes con Silverlight 2
    John Papa - Noviembre 2008
    John Papa trata cuestiones sobre servicios de llamada desde aplicaciones Silverlight 2.

  • Tecnología de vanguardia: La interoperabilidad del explorador en Silverlight 2
    Dino Esposito - Noviembre 2008
    Este mes Dino Esposito explica cómo la capa de interoperabilidad del explorador en Silverlight responde a varias de las necesidades de interacción de su página Silverlight / Web.

  • Código malintencionado: Regiones de recorte y transformaciones en Silverlight 2
    Jeff Prosise - Noviembre 2008
    Silverlight es lo bastante poderoso para permitirle crear fácilmente una característica de ampliación de imagen para su sitio web con muy poco código, la mayor parte del cual es XAML. Averigüe cómo.

  • Foundations: Flujos de trabajo y actividades de pruebas de unidades
    Matt Milner - Noviembre 2008
    Matt Milner echa un vistazo a algunos de los desafíos y técnicas relacionados con pruebas de actividades, flujos de trabajo y componentes asociados de Windows Workflow Foundation.

  • Cambio de paradigma: Consideraciones de diseño para la programación paralela
    David Callahan - Octubre 2008
    Este artículo incluye información general de la motivación subyacente a las nuevas técnicas que descomponen problemas en partes independientes para el uso óptimo de la programación paralela.

  • Herramientas de codificación: Mayor compatibilidad con el paralelismo en la próxima versión de Visual Studio
    Stephen Toub y Hazim Shafi - Octubre 2008
    Estudiamos la compatibilidad prevista con la programación paralela para código administrado y nativo en la próxima versión de Visual Studio.

  • Peligros de simultaneidad: Solución 11 Posibles problemas en su código multiproceso
    Joe Duffy - Octubre 2008
    En este artículo se describe parte de los desafíos más comunes de la programación actual y se presentan consejos para enfrentarse con ellos en su software.

  • ASP.NET AJAX 4.0: Nueva compatibilidad de AJAX para aplicaciones web controladas por datos
    Bertrand Le Roy - Octubre 2008
    He aquí una aplicación web impulsada por datos ASP.NET AJAX que toma las mejores características de la programación de cliente y servidor para proporcionar una experiencia eficaz y fácil de utilizar.

  • Asincronismo fácil: Creación de aplicaciones simultáneas a partir de simples expresiones F#
    Chance Coble - Octubre 2008
    En este artículo, el autor analiza cómo el lenguaje F# sirve de ayuda en la creación de bibliotecas de funciones asincrónicas que pueden llamarse sin ningún problema desde cualquier otro lenguaje compatible con .NET.

  • Nota del editor: new Thread(ReadEditorsNote).Start(); yourAttention.WaitOne();
    Howard Dierking - Octubre 2008
    En esta introducción, Howard Dierking indica que no se puede paralelizar código ciegamente si realmente se espera sacar partido de las ventajas que promete el paralelismo.

  • Cuadro de herramientas: Datos de prueba realistas, el blog de Dare Obasanjo, herramientas para la codificación en colores y mucho más.
    Scott Mitchell - Octubre 2008
    Este mes, Scott muestra cómo generar datos de prueba realistas, visita el blog de Dare Obasanjo y muestra código con codificación en colores para una mayor legibilidad.

  • Todo sobre CLR: Seguridad en Silverlight 2
    Andrew Dai - Octubre 2008
    Andrew Dai, del equipo de CLR, trata el modelo de transparencia, el cual crea un límite de aislamiento sólido entre el código con privilegios y sin privilegios para aplicaciones Silverlight.

  • Instintos básicos: Entrada dinámica de datos con literales XML
    Beth Massi - Octubre 2008
    Aprenda cómo usar Windows Presentation Foundation (WPF), XAML y la compatibilidad con XML en Visual Basic para generar interfaces de usuario de forma dinámica.

  • Tecnología de vanguardia: Reutilización de código en WPF y Silverlight 2.
    Dino Esposito - Octubre 2008
    Hay una gran similitud entre las aplicaciones Silverlight 2 basadas en web y las aplicaciones de escritorio de WPF. Aquí, el objetivo de Dino es permitir una reutilización de código sencilla entre ambas.

  • Los patrones en la práctica: Cohesión y acoplamiento
    Jeremy Miller - Octubre 2008
    En esta columna se muestran algunos patrones de diseño que permiten alcanzar una mayor cohesión y un acoplamiento más débil para obtener aplicaciones más flexibles y reutilizables.

  • Estación de servicio: Autorización en servicios basados en WCF
    Dominick Baier y Christian Weyer - Octubre 2008
    Windows Communication Foundation (WCF) ofrece un sistema basado en funciones, fácil de usar, y una API más eficaz y compleja basada en notificaciones para implementar la autorización en servicios.

  • Bases: Administración de estado con servicios duraderos
    Juval Lowy - Octubre 2008
    Este mes, Juval Lowy aborda cuestiones como cuándo mantener los proxy y servicios en memoria para mejorar la administración de estado en flujos de trabajo de larga ejecución.

  • Movilidad: Aplicaciones habilitadas para entradas manuscritas en Tablet PC
    Gus Class - Octubre 2008
    Se muestra cómo crear rápidamente aplicaciones habilitadas para entradas manuscritas con el SDK de Tablet PC y los controles ActiveX InkEdit e InkPicture.

  • .NET Matters: Falso uso compartido
    Stephen Toub, Igor Ostrovsky y Huseyin Yildiz - Octubre 2008
    Este mes: problemas de acceso a memoria en sistemas multinúcleo y cómo diagnosticar y evitar el falso uso compartido en aplicaciones de computación paralelas.

  • Prisma: Patrones para crear aplicaciones compuestas con WPF
    Glenn Block - Septiembre 2008
    Presentamos las ventajas de crear aplicaciones compuestas con la guía de asistencia Composite Application Guidance para WPF de Microsoft patterns & practices.

  • Servicio de datos: Creación de aplicaciones web centradas en datos con Silverlight 2
    Shawn Wildermuth - Septiembre 2008
    ADO.NET Data Services proporciona extremos accesibles por web que permiten filtrar, ordenar, modelar y paginar datos sin tener que crear dicha funcionalidad.

  • WPF avanzado: Descripción de eventos y comandos dirigidos en WPF
    Brian Noyes - Septiembre 2008
    Consulte por qué los eventos y comandos enrutados de Windows Presentation Foundation forman la base para la comunicación entre los componentes de la IU.

  • Nota del editor: Pendiente de las minorías
    Howard Dierking - Septiembre 2008
    La tecnología cambia a la velocidad de la luz. Este mes Howard Dierking reflexiona sobre el modo en que los cambios rápidos afectan a las prioridades de los desarrolladores y al enfoque de la revista.

  • Cuadro de herramientas: Consultas LINQ fáciles, cómo convertirse en un mejor desarrollador y ayuda para el registro
    Scott Mitchell - Septiembre 2008
    En el artículo de este mes de Cuadro de herramientas se ofrece ayuda para el registro de errores, se presenta una aplicación que le ayudará a escribir consultas LINQ y se explora el lado no técnico del desarrollo.

  • Todo sobre CLR: Procesamiento de excepciones no controladas en CLR
    Gaurav Khanna - Septiembre 2008
    En esta entrega de Todo sobre CLR, Gaurav Khanna explica todo lo que necesita saber acerca del procesamiento de excepciones no controladas en .NET Framework.

  • Puntos de datos: Aplicaciones controladas por servicios con Silverlight 2 y WCF
    John Papa - Septiembre 2008
    John Papa explica en este artículo cómo se crea una interfaz de usuario de Silverlight 2 que se comunica a través de WCF para interactuar con entidades de negocio y una base de datos.

  • Conceptos básicos avanzados: La clase LINQ Enumerable, parte 2
    Ken Getz - Septiembre 2008
    Este mes Ken analiza con mayor detalle la clase System.Linq.Enumerable y muestra a los lectores cómo realizar algunas operaciones de datos mágicas con System.Linq.Enumerable.

  • Espacio Office: Auditoría personalizada en SharePoint
    Ted Pattison - Septiembre 2008
    Aprenda a habilitar una solución de auditoría para Windows SharePoint Services (WSS) 3.0 con páginas de control personalizadas en Microsoft Office SharePoint Server (MOSS) 2007.

  • Tecnología de vanguardia: Creación de una capa de servicios AJAX segura
    Dino Esposito - Septiembre 2008
    Este mes Dino crea una capa de servicios que autentica a los usuarios de los servicios Silverlight 2 y AJAX de ASP.NET para evitar el acceso no autorizado a servicios back-end confidenciales.

  • Bases: Propiedades de dependencia y notificaciones
    Charles Petzold - Septiembre 2008
    Las propiedades de dependencia de Windows Presentation Foundation no siempre se llevan bien con las demás. Obtenga información acerca de cómo puede compensar su carencia de eventos de notificación.

  • Datos 2.0: Exponer y consumir datos en un mundo de servicios web
    Elisa Flasko y Mike Flasko - Agosto 2008
    El objetivo de ADO.NET Data Services Framework es crear un marco sencillo basado en REST para exponer y consumir fácilmente servicios centrados en datos.

  • EDI de BizTalk: Crear una solución EDI sólida con BizTalk Server
    Mark Beckner - Agosto 2008
    Le presentamos la funcionalidad de EDI dentro de BizTalk Server 2006 R2. Describiremos la creación de esquemas, la asignación de documentos, la entrega y transmisión de EDI y el tratamiento de excepciones.

  • Silverlight: Crear animaciones con XAML y Expression Blend
    Lawrence Moroney - Agosto 2008
    En este fragmento de su próximo libro, Laurence Moroney explica los conceptos básicos de la animación de Silverlight y las herramientas de animación disponibles en Expression Blend.

  • ¡Siga escribiendo!: Crear aplicaciones web para usar con Silverlight 2
    Julia Lerman - Agosto 2008
    Creamos una aplicación Silverlight 2.0 que usa el objeto InkPresenter para permitir a los usuarios anotar una recopilación predefinida de imágenes, realizar reconocimiento de escritura y guardar anotaciones y texto reconocido en una base de datos de servidor.

  • Código malintencionado: Crear controles personalizados para Silverlight 2
    Jeff Prosise - Agosto 2008
    Si no está familiarizado con Windows Presentation Foundation (WPF), crear el primer control personalizado de Silverlight puede resultar una experiencia desalentadora. Este artículo le guiará a través del proceso.

  • Cuadro de herramientas: Serialización de objetos, el blog de Scott Allen, rendimiento de sitios y mucho más
    Scott Mitchell - Agosto 2008
    Serialización y deserialización de archivos de longitud fija y delimitados, el blog de Scott Allen, inspección de páginas web y mucho más.

  • Todo sobre CLR: Programar Silverlight con CoreCLR
    Andrew Pardoe - Agosto 2008
    CoreCLR proporciona el conjunto ideal de clases y funcionalidades de CLR para la web.

  • Instintos básicos: Aumento del rendimiento en las consultas LINQ.
    Jared Parsons - Agosto 2008
    Jared Parsons demuestra una técnica para lograr el máximo rendimiento en las consultas LINQ sobre grandes conjuntos de datos a fin de crear una interfaz de usuario con capacidad de respuesta.

  • Tecnología de vanguardia: Programar AJAX con representación parcial de ASP.NET
    Dino Esposito - Agosto 2008
    Dino Esposito compara el uso de patrones AJAX y manipulaciones DOM para el uso del motor de representación parcial de ASP.NET.

  • Los patrones en la práctica: Estereotipos de función de objeto
    Jeremy Miller - Agosto 2008
    Los estereotipos de función de objeto pueden ayudarle a comprender mejor y a clarificar las responsabilidades de los objetos de la aplicación.

  • Team System: Herramientas avanzadas esenciales.
    Brian Randell - Agosto 2008
    Brian Randell presenta algunas herramientas Power Tools esenciales para obtener el máximo rendimiento de Team System.

  • Bases: Sugerencias y trucos para el flujo de trabajo.
    Matt Milner - Agosto 2008
    Matt Milner responde a las solicitudes de los lectores de proporcionar información acerca del uso compartido seguro de una base de datos de persistencia entre varias aplicaciones y acerca del uso de partes menos conocidas del marco, como ChannelManagerService.

  • Operaciones simultáneas: Más características de AsyncEnumerator
    Jeffrey Richter - Agosto 2008
    Jeffrey Richter nos muestra algunas características adicionales e interesantes de su clase AsyncEnumerator.

  • Servicio de datos: Desarrollo de aplicaciones sólidas y escalables con SQL Server Data Services
    David Robinson - Julio 2008
    En este artículo el autor presenta SQL Server Data Services, que incluye una serie de características que están por encima de las interfaces estándar de servicios web.

  • ADO.NET: Modelado flexible de datos mediante Entity Framework
    Elisa Flasko - Julio 2008
    En este artículo la autora contesta preguntas relacionadas con Entity Framework y ofrece información acerca de cómo y por qué se desarrolló.

  • Datos y WPF: Personalización de la visualización de datos con enlace de datos y WPF
    Josh Smith - Julio 2008
    Se presentan técnicas para el enlace de datos declarativos y de programación y su visualización con Windows Presentation Foundation.

  • Transacciones: Creación de sistemas escalables que controlen errores sin perder datos
    Udi Dahan - Julio 2008
    Los sistemas que controlan los errores sin perder datos son evasivos. Descubra cómo conseguir sistemas escalables y sólidos.

  • WCF P2P: Diseño del uso compartido de estados en una red del mismo nivel
    Kevin Hoffman - Julio 2008
    Aprenda a habilitar aplicaciones empresariales de mismo nivel al permitir que compartan el estado en una red del mismo nivel sin servidor.

  • Cuadro de herramientas: Hospedaje wiki sencillo, blog de Scott Hanselman y enganche de pantallas
    Scott Mitchell - Julio 2008
    Este mes en la sección Cuadro de herramientas, vea cómo hospedar un wiki fácilmente y obtener las capturas de pantalla necesarias, y obtenga información acerca de LINQ.

  • Todo sobre CLR: Extienda las aplicaciones de Windows Forms mediante System.AddIn
    Mueez Siddiqui - Julio 2008
    Este mes, descubrirá cómo se pueden adaptar las aplicaciones de Windows Forms para usar el nuevo marco de complementos de .NET (System.AddIn).

  • Puntos de datos: Entity Framework en arquitecturas divididas en capas
    John Papa - Julio 2008
    En este artículo se crea una solución que ajusta Entity Framework en una arquitectura de n niveles que usa WCF y WPF, así como el patrón MVP.

  • Conceptos básicos avanzados: La clase LINQ Enumerable, parte 1.
    Ken Getz - Julio 2008
    En este artículo se presenta la clase LINQ Enumerable, que permite manipular datos de cualquier clase que implemente IEnumerable(Of T).

  • Espacio Office: Marca automatizada de sitios SharePoint
    Ted Pattison - Julio 2008
    En este artículo se presenta una solución de personalización de marcas para sitios de SharePoint que integra páginas principales y archivos CSS en el mismo nivel que el de la colección de sitios.

  • Tecnología de vanguardia: Patrón Mensaje HTML
    Dino Esposito - Julio 2008
    En este número, el autor ofrece una implementación mejorada del patrón BST y lo compara a las soluciones HTM.

  • Ejecución de pruebas: Introducción a las pruebas de WCF
    Dr. James McCaffrey - Julio 2008
    Este mes, James McCaffrey genera un agente de prueba para aplicaciones de WCF que realmente las pone a prueba.

  • Bases: Adición de seguridad de acceso al código a WCF, parte 2
    Juval Lowy - Julio 2008
    La columna de este mes sigue el debate acerca de la seguridad de acceso al código de WCF y los servicios de confianza parcial.

  • .NET Matters: E/S asincrónica con WebClient
    Stephen Toub - Julio 2008
    En la entrega de este mes de .NET Matters, el columnista Stephen Toub responde a las preguntas de los lectores respecto a la E/S asincrónica.

  • SAAS: Conectar aplicaciones empresariales con servicios de BizTalk hospedados
    Jon Flanders y Aaron Skonnard - Junio 2008
    En este artículo le presentamos los servicios de BizTalk, una nueva tecnología que ofrece las características de bus de servicios de empresa de BizTalk Server como un servicio hospedado.

  • Todo sobre CLR: Montón de objeto grande al descubierto
    Maoni Stephens - Junio 2008
    Este mes Todo sobre CLR revela los secretos que se ocultan en el montón de objeto grande, lo que hay en él, cuándo se libera y cómo trata el recolector de elementos no utilizados los objetos que hay en él.

  • Tecnología de vanguardia: ASP.NET AJAX y plantillas del lado cliente.
    Dino Esposito - Junio 2008
    AJAX va más allá que la simple representación de página parcial. Averigüe lo que piensa Dino Esposito acerca de la dirección que tomarán las páginas dinámicas en el futuro con ASP.NET AJAX.

  • Aplicaciones de Office: Integración de VSTO con los tipos de contenido de SharePoint
    Steve Fox - May 2008
    Consulte cómo crear Visual Studio Tools a nivel de documento para la personalización de Office e integrarlo con un tipo de contenido en SharePoint.

  • MOSS 2007: Automatice la implementación de aplicaciones web con la API de SharePoint
    E. Wilansky, P. Olszewski, and R. Sneddon - May 2008
    Aprenda a automatizar las implementaciones de aplicaciones de SharePoint personalizadas, a usar la API de SharePoint y a evitar el engorro de las definiciones de sitio personalizadas.

  • Seguridad: Autenticación más segura con una solución de contraseña de un solo uso
    Dan Griffin - May 2008
    Las contraseñas de un solo uso proporcionan soluciones a los ataques de diccionario, suplantación de identidad (phishing), interceptación y gran cantidad de infracciones de seguridad. Explico, a continuación, el funcionamiento.

  • Sopa de letras: Una encuesta de lenguajes y paradigmas .NET
    Joel Pobar - May 2008
    A continuación, se presenta un resumen de varios paradigmas de lenguajes basados en CLR a través de breves introducciones a dichos lenguajes y ejemplos de código.

  • Cuadro de herramientas: Registros de auditoría de base de datos, Joel sobre el software, distribuciones de código y más
    Scott Mitchell - May 2008
    Este mes la columna Cuadro de herramientas se detiene en el registro de base de datos, el blog de Joel Spolsky, los proyectos de código de impresión y la lectura de ASP.NET.

  • Todo sobre CLR: Mida pronto y periódicamente el rendimiento, parte 2
    Vance Morrison - May 2008
    En esta segunda parte, Vance Morrison profundiza en el significado de las medidas de rendimiento, y le explica el valor de los números.

  • Data Points: Preguntas y respuestas de Entity Framework
    John Papa - May 2008
    Entity Framework es un tema candente, pero ¿cómo sabemos cuándo usar EntityClient, Servicios de objeto, Entity SQL o LINQ? Averígüelo aquí.

  • Tecnología de vanguardia: Interfaz de una sola página y patrones AJAX
    Dino Esposito - May 2008
    Este mes echaremos un vistazo al modelo de interfaz de una sola página (SPI, Single Page Interface) y a algunos de los patrones de diseño para las aplicaciones AJAX.

  • Test Run: Pruebas de solicitud/respuesta con Windows PowerShell
    Dr. James McCaffrey - May 2008
    ¿Sabía que es posible usar Windows PowerShell para llevar a cabo pruebas ligeras de solicitud/respuesta para una aplicación web ASP.NET? Le explicamos cómo.

  • Espacio Office: Desde macros de VBA a complementos de Word
    Robert Bogue - May 2008
    Vea cómo usar Word para capturar una macro de VBA y Visual Studio Tools para Office para incluirla en un complemento de Word implementable.

  • Código malintencionado: Simplificación de los giros de página con Silverlight
    Jeff Prosise - May 2008
    Como podrá ver, con sólo un par de líneas de JavaScript se puede crear un marco de uso general para incorporar los giros de página a las aplicaciones de Silverlight 1.0.

  • Bases: Carga de modelos de flujo de trabajo en WF
    Matt Milner - May 2008
    Al crear los flujos de trabajo, debe tener en cuenta la experiencia del desarrollador, las herramientas disponibles, el mantenimiento a largo plazo y las futuras versiones.

  • Team System: Servicio de evento de Team Foundation Server
    Brian A. Randell - May 2008
    Use EventService de Team Foundation Server para crear y administrar las suscripciones de eventos o crear un servicio web para recibir y procesar eventos.

  • Talk Back: Flujos de trabajo de respuesta de voz con Speech Server 2007
    Michael Dunn - April 2008
    Speech Server 2007 le permite crear sofisticadas aplicaciones de respuesta de voz gracias a la integración de herramientas de .NET Framework y Visual Studio. A continuación le explicamos cómo.

  • Rendimiento: Estrategias de escalado para aplicaciones de ASP.NET
    Richard Campbell and Kent Alstad - April 2008
    Los problemas de rendimiento pueden aparecer en su aplicación web al aumentar la escala y cuando lo hacen, es necesario encontrar las causas y las mejores estrategias para abordarlos.

  • Silverlight: Creación de animaciones 3D avanzadas con Silverlight 2.0
    Declan Brennan - April 2008
    Realizar animaciones con Silverlight es más fácil de lo que piensa. Vamos a crear una aplicación 3D que dobla un poliedro mediante XAML, C# y la emulación de las bibliotecas matemáticas de DirectX.

  • Todo sobre CLR: Mida pronto y periódicamente el rendimiento, parte 1
    Vance Morrison - April 2008
    En la columna de este mes, aprenda a optimizar desde un principio el rendimiento de sus aplicaciones para no tener que pagar las consecuencias una vez implementadas.

  • Instintos básicos: Extensiones de espacio de nombres My con la extensibilidad My
    Matthew DeVore - April 2008
    En la columna de este mes, aprenda a integrar su propia extensión de espacio de nombres My en el entorno de desarrollo de Visual Basic mediante el uso de la característica de extensibilidad My.

  • Tecnología de vanguardia: Sugerencias y trucos para ListView
    Dino Esposito - April 2008
    Este mes, ha usado controles ListView anidados para crear vistas jerárquicas de datos y ampliar el modelo de sistema de eventos de ListView derivando una clase personalizada de ListView.

  • Bases: Seguridad de acceso del código en WCF, parte 1
    Juval Lowy - April 2008
    En el presente artículo tratamos la seguridad de acceso a código en Windows Communication Foundation (WCF) y presentamos una solución para habilitar clientes de confianza parcial para los servicios WCF.

  • Estación de servicio: Creación de un enrutador de WCF, parte 1
    Michele Leroux Bustamante - April 2008
    Aquí estudiaremos los clientes y servicios de WCF y explicaremos cómo ajustar los comportamientos de filtrado de direccionamiento y de mensajes, de forma que pueda dirigir los servicios entre ellos.

  • ASP.NET MVC: Creación de aplicaciones web sin formularios Web Forms
    Chris Tavares - March 2008
    Chris Tavares explica cómo el patrón Controlador de vista de modelo de ASP.NET MVC Framework le ayuda a crear aplicaciones web flexibles y fáciles de probar.

  • Flexibilidad: Domine las dependencias de software para obtener aplicaciones más flexibles
    James Kovacs - March 2008
    James Kovacs explica la cara oscura de las arquitecturas de acoplamiento ajustado, por qué son difíciles de probar y cómo limitan la adaptación. A continuación, nos ofrece una serie de soluciones.

  • CI Server: Redefina el proceso de creación mediante integración continua
    Jay Flowers - March 2008
    Jay Flowers muestra cómo configurar y usar un servidor de integración continua mediante distintas herramientas y una solución de CI Factory más completa.

  • Rendimiento: Cómo encontrar cuellos de botella de aplicaciones con el generador de perfiles de Visual Studio
    Hari Pulapaka and Boris Vidolov - March 2008
    Le presentaremos el generador de perfiles de Visual Studio a través de un ejemplo de investigación de rendimiento, identificando los puntos débiles del código en algunas aplicaciones de muestra.

  • Desarrollo para Office: Patrones de soluciones OBA en el mundo real
    Steve Fox - March 2008
    Los patrones de la solución OBA ayudan a arquitectos y desarrolladores a crear Aplicaciones de negocio de Office (OBA). Este artículo presenta los siete patrones principales de la solución OBA y aplica uno a un problema del mundo real.

  • Cuadro de herramientas: Depuración web más sencilla, extensión de Reflector y mucho más
    Scott Mitchell - March 2008
    Este mes, una mejor experiencia de diseño para aplicaciones web, el blog de Scott Guthrie, extensión de la herramienta Reflector de Lutz Roeder y mucho más.

  • Todo sobre CLR: Mejora del rendimiento de inicio de la aplicación
    Claudio Caldato - March 2008
    El rendimiento de inicio de la aplicación es un tema que importa a los usuarios y hay mucho que usted puede hacer para mejorarlo. Vamos a empezar por lo siguiente.

  • Data Points: Operadores de consulta estándar con LINQ
    John Papa - March 2008
    LINQ to Objects y LINQ to Entities tienen un arsenal de operadores de consulta estándar que funcionan en secuencias para realizar una gran variedad de operaciones.

  • Conceptos básicos avanzados: Archivos de Office 2007 y LINQ
    Ken Getz - March 2008
    LINQ to XML y Microsoft SDK para formatos XML abiertos simplifican el acceso a los elementos de un documento de formato XML abierto de 2007 Office system cuando se recuperan o modifican datos, lo que da como resultado código más reducido y menos complejo.

  • Espacio Office: Simplificación del desarrollo de SharePoint con STSDEV
    Ted Pattison - March 2008
    Ted Pattison muestra cómo usar la nueva utilidad STSDEV para instalar e implementar proyectos de desarrollo de SharePoint en Visual Studio de una manera fácil y repetible.

  • Test Run: Automatización de la interfaz web de usuario con Windows PowerShell
    Dr. James McCaffrey - March 2008
    Le mostramos a continuación cómo usar Windows PowerShell para crear una automatización de la prueba de la interfaz de usuario rápida y sencilla para ASP.NET y aplicaciones web clásicas ASP.

  • Extreme ASP.NET: El único control de enlace de datos realmente necesario
    Fritz Onion - March 2008
    Fritz Onion demuestra cómo el control ListView en ASP.NET 3.5 facilita las tareas de enlace de datos gracias a la compatibilidad de estilos con CSS, paginación flexible y un complemento flexible para clasificar, insertar, eliminar y actualizar características.

  • Bases: Gráficos vectoriales y la clase Shape de WPF
    Charles Petzold - March 2008
    El espacio de nombres System.Windows.Shapes es el espacio de nombres elegido por Charles Petzold para representar gráficos vectoriales bidimensionales en WPF. Aquí explica por qué.

  • { Paréntesis de cierre }: ¿Qué es ALT .NET?
    Jeremy D. Miller - March 2008
    Jeremy D. Miller explica la motivación que se oculta tras el movimiento ALT .NET.

  • Mobile WCF: Cree una aplicación de mensajería instantánea con .NET Compact Framework
    Andrew Arnott - Launch 2008
    .NET Compact Framework 3.5 ofrece un subconjunto de funcionalidades de Windows Communication Foundation (WCF) que se puede aprovechar para la comunicación entre dispositivos de Windows Mobile y PC de escritorio. Le mostraremos cómo.

  • IIS 7.0: Cree soluciones de servidor web con extensibilidad de extremo a extremo
    Mike Volodarsky - Launch 2008
    Mike Volodarsky muestra el modelo de extensibilidad de IIS 7.0 mediante la ampliación de Response Modification en un módulo de servidor web configurable y una página de administración personalizada para el administrador de IIS.

  • VSTO 3.0: Desarrollo de aplicaciones de negocio de Office con Visual Studio 2008
    Steve Fox - Launch 2008
    Las áreas de formulario personalizado en Outlook permiten recoger datos de orígenes designados y personalizar totalmente la experiencia de sus usuarios con Outlook 2007.

  • F# Primer: Use técnicas de programación funcional en .NET Framework
    Ted Neward - Launch 2008
    A continuación describiremos algunos de los conceptos del nuevo lenguaje F#, que combina elementos de lenguajes .NET funcionales y orientados a objetos. Tras ello, le ayudaremos a empezar a escribir algunos programas sencillos.

  • Nota del editor: Se acerca una gran oleada de versiones
    Howard Dierking - Launch 2008
    Este mes, Howard Dierking habla sobre el alcance de Windows Server 2008, SQL Server 2008 y Visual Studio 2008.

  • Cuadro de herramientas: Autocompletado del código SQL, herramientas de subversión, desarrollo ágil, y más
    James Avery - Launch 2008
    Este mes: ayuda en la redacción de código SQL, en el modelado de bases de datos con SubSonic y una revisión de Visual Studio Team System: Better Software Development for Agile Teams.

  • Cutting Edge: Cuadros de diálogo modales con AJAX
    Dino Esposito - Launch 2008
    Este mes Dino Esposito le muestra cómo obtener cuadros de diálogo modales de estilo Windows para sus aplicaciones web gracias al kit de herramientas de control de AJAX y codificación inteligente.

  • Test Run: Automatización de pruebas personalizadas con Team System
    Dr. James McCaffrey - Launch 2008
    En la columna de este mes, el Dr. James McCaffrey describe algunas de las maneras que se puede usar Visual Studio 2005 Team System para administrar la automatización personalizada de pruebas de software.

  • Estación de servicio: Web Service Software Factory Modeling Edition
    Gerardo de Geest and Gerben van Loon - Launch 2008
    Web Service Software Factory: Modeling Edition es una recopilación de recursos de modelado y generación de servicios web para Windows Communication Foundation y ASMX.

  • Bases: Servicios de flujo de trabajo
    Matt Milner - Launch 2008
    Gracias a NET Framework 3.5, Windows Workflow Foundation puede ahora integrarse completamente con Windows Communication Foundation. En esta columna se describe cómo funciona esta integración y cómo hacer uso de ella de una forma eficaz.

  • Team System: Notas y directivas de protección
    Brian A. Randell - Launch 2008
    En esta quinta y última entrega de un análisis continuo, aprenda a agregar notas de protección y compatibilidad con directivas de protección a un complemento Word.

  • Creación propia: Cree un compilador de lenguaje para .NET Framework
    Joel Pobar - February 2008
    Joel Pobar nos ofrece una introducción acerca del funcionamiento de los compiladores y de cómo escribir nuestro propio compilador para .NET Framework.

  • PIAB y WCF: Integración del bloque de aplicaciones de inyección de directivas con los servicios WCF
    Hugh Ang and David San Filippo - February 2008
    Mediante PIAB puede mejorar los servicios de WCF con directivas tales como validación, supervisión de rendimiento, autorización y almacenamiento en la memoria caché sin tener que cambiar ni una línea de código.

  • Procedimientos de WF: Creación de equipos de estado con Windows Workflow Foundation
    Keith Pijanowski - February 2008
    Los flujos de trabajo de equipos de estado representan una manera diferente de visualizar la lógica del programa. En lugar de fluir de una actividad a otra como en los flujos de trabajo secuenciales, los equipos de estado realizan una transición de un estado a otro. Obtenga más información acerca de los usos de los equipos de estado y el modo de diseñar y crear un flujo de trabajo de equipos de estado con Windows Workflow Foundation.

  • Nota del editor: Cómo superar las barreras de los lenguajes con diseños elegantes
    Howard Dierking - February 2008
    Este mes, Howard Dierking explica los motivos por los que la elección de un lenguaje de programación puede ser una decisión personal.

  • Cuadro de herramientas: Edición de texto eficaz, pruebas web en .NET, prueba de unidades ampliada y mucho más
    James Avery - February 2008
    Edición de texto eficaz, pruebas web en .NET, prueba de unidades ampliada y mucho más

  • Todo sobre CLR: Lenguajes dinámicos y Silverlight
    Jimmy Schementi - February 2008
    DLRConsole proporciona un entorno interactivo para la reproducción de lenguajes dinámicos en Silverlight.

  • Instintos básicos: Programación XML en Visual Basic 9.0
    Jonathan Aneja - February 2008
    Con Visual Basic 9.0, las operaciones con XML son más sencillas para los desarrolladores. A continuación le mostramos algunas de las nuevas características, entre las que se incluyen la compatibilidad con LINQ, los literales XML, las expresiones incrustadas, las propiedades XML y XML Schema IntelliSense

  • Data Points: Diseño de un modelo de datos de entidades
    John Papa - February 2008
    Gracias a Entity Framework, los desarrolladores han conseguido tener más flexibilidad ya que pueden diseñar modelos conceptuales en lugar de modelos de datos relacionales. Para empezar es necesario saber cómo se diseña un Modelo de Datos de Entidades. John Papa le guiará a través de este proceso.

  • Tecnología de vanguardia: Personalización de controles con extensores de AJAX, parte 2
    Dino Esposito - February 2008
    Este mes Dino vuelve a analizar los extensores de control de AJAX agregando más características avanzadas, entre las cuales se incluyen las funciones de edición enmascarada y completar automático.

  • Espacio Office: Programación de seguridad en SharePoint 2007
    Ted Pattison - February 2008
    Este mes Ted Pattison presenta una introducción a la programación de seguridad y los permisos para Windows SharePoint Services 3.0.

  • Test Run: Biblioteca de automatización de la interfaz de usuario de Microsoft
    Dr. James McCaffrey - February 2008
    James McCaffrey le muestra cómo empezar con una automatización de prueba de la interfaz de usuario mediante la nueva biblioteca de automatización de la interfaz de usuario de Microsoft.

  • Bases: Novedades de WCF en Visual Studio 2008
    Juval Lowy - February 2008
    Visual Studio 2008 y .NET Framework 3.5 ofrecen nuevas herramientas y compatibilidades que amplían el uso de Windows Communication Foundation (WCF). Asimismo, Visual Studio 2008 automatiza un gran número de tareas de WCF manuales para el desarrollador.

  • .NET Matters: Canalización de secuencias
    Stephen Toub - February 2008
    Este mes Stephen Toub explica cómo aprovechar al máximo los dos procesadores cuando se ejecutan tareas de cifrado y compresión.

  • IIS 7.0: Mejora de las aplicaciones con la canalización integrada de ASP.NET
    Mike Volodarsky - January 2008
    Mike Volodarsky nos enseña cómo IIS 7.0 permite agregar mejoras de rendimiento y seguridad a las aplicaciones PHP sin tocar una sola línea de código PHP.

  • El mundo se prepara: Alrededor del mundo con las aplicaciones ASP.NET AJAX
    Guy Smith-Ferrier - January 2008
    .NET Framework cuenta con una excelente compatibilidad internacional, pero JavaScript no. Si usa ASP.NET AJAX, conozca lo que necesita hacer para adaptarse.

  • Sindicación WCF: Programación HTTP con WCF y .NET Framework 3.5
    Justin Smith - January 2008
    Introducción de características centradas en la Web de Windows Communication Foundation en .NET Framework 3.5, incluido el modelo de programación HTTP y la nueva API de sindicación.

  • Look it Up: Managing Directory Security Principals in the .NET Framework 3.5
    Joe Kaplan and Ethan Wilansky - January 2008
    Here's an overview of the new System.DirectoryServices.AccountManagement class in the .NET Framework 3.5 and how it simplifies working with directory services.

  • Nota del editor: Año nuevo: una nueva perspectiva
    Howard Dierking - January 2008
    Ya tenemos los resultados de la encuesta realizada entre nuestros lectores. Este mes, Howard Dierking comparte sus puntos de vista.

  • Cuadro de herramientas: Pruebas unitarias avanzadas, objetos ficticios, generación de aplicaciones y mucho más
    James Avery - January 2008
    Este mes nos centramos en las pruebas unitarias avanzadas, los objetos ficticios, la generación de aplicaciones además de otros aspectos.

  • Todo sobre CLR: Cálculo de referencias entre código administrado y no administrado
    Yi Zhang and Xiaoying Guo - January 2008
    El cálculo de referencias es una parte importante de la interoperabilidad de .NET. Le permite llamar a código no administrado desde código administrado. Esta columna le ayudará a empezar.

  • Data Points: Acceso a datos desde una aplicación móvil
    John Papa - January 2008
    Este mes John Papa nos introduce en el desarrollo de una aplicación móvil que pueda obtener acceso a los datos de su servidor de aplicaciones.

  • Conceptos básicos avanzados: Reflexión y genéricos
    Ken Getz - January 2008
    Este mes, la sección Conceptos básicos avanzados presume de la eficacia de los genéricos y la reflexión y muestra cómo obtener un desarrollo más flexible mediante la combinación de ambos.

  • Tecnología de vanguardia: Personalización de controles con extensores de AJAX
    Dino Esposito - January 2008
    Los extensores de AJAX extienden el comportamiento y las características de controles web comunes para que pueda reducir las devoluciones y controlar las entradas mejor que con AJAX por sí solo.

  • Código malintencionado: Arrastrar y colocar con ASP.NET AJAX
    Jeff Prosise - January 2008
    Jeff Prosise muestra cómo es posible implementar la función arrastrar y colocar en su aplicación web con ASP.NET AJAX.

  • Foundations: Plantillas para controles poco frecuentes
    Charles Petzold - January 2008
    Charles Petzold demuestra como las plantillas de Windows Presentation Foundation (WPF) le permiten convertir controles comunes en objetos visuales poco frecuentes.

  • ASP.NET al límite: Encapsulado de Silverlight con controles ASP.NET
    Fritz Onion - January 2008
    Para implementar Silverlight en páginas ASP.NET, puede encapsular los elementos de Silverlight en los controles ASP.NET. A continuación le explicamos cómo.

  • { Paréntesis de cierre }: Pasión por la artesanía
    Scott Hanselman - January 2008
    Scott Hanselman nos ofrece su reflexiones sobre el término "desarrollador 5:01" y por qué el éxito en cualquier campo requiere pasión y la paciencia de un artesano.

  • Map LINQ: Creación de mapas dinámicos con Visual Basic 9.0 y WPF
    Scott Wisniewski - December 2007
    Scott Wisniewski usa el enlace de datos de Windows Presentation Foundation junto con LINQ y las nuevas características de XML en Visual Basic para crear una aplicación interactiva que asigne datos demográficos.

  • VSTO: Creación de soluciones basadas en Office con WPF, WCF y LINQ
    Andrew Whitechapel - December 2007
    Con Visual Studio Tools para Office puede crear fácilmente servicios basados en Office que aprovechan la eficacia de Windows Communication Foundation, Windows Presentation Foundation y LINQ.

  • Cmdlets: Extensión de Windows PowerShell con comandos personalizados
    Jim Truher - December 2007
    Jim Truher presenta una introducción a la escritura y registro de sus propios cmdlets personalizados para usarlos en Windows PowerShell.

  • Cuadro de herramientas: Chat en directo, conversión de código, monitores múltiples y mucho más
    Scott Mitchell - December 2007
    Este mes, más información acerca de las herramientas que necesita para trabajar.

  • CLR Inside Out: Escritura segura de código .NET
    Alessandro Catorcini and Brian Grunkemeyer - December 2007
    Le ofrecemos una introducción a los errores de código así como técnicas para escribir código administrado más confiable y resistente.

  • Puntos de datos: Enlace de datos en WPF
    John Papa - December 2007
    WPF es una de las nuevas tecnologías más importantes en .NET Framework 3.0. Este mes John Papa presenta las capacidades de enlace de datos de esta tecnología.

  • Cutting Edge: Dentro de la biblioteca de AJAX de Microsoft
    Dino Esposito - December 2007
    Dino Esposito presenta Microsoft AJAX Library y la biblioteca de JavaScript para ASP.NET AJAX 1.0.

  • Test Run: Automatización de la interfaz de usuario con Windows PowerShell
    Dr. James McCaffrey - December 2007
    Esta entrega de Test Run constituye una guía de uso de Windows PowerShell para llevar a cabo la automatización de la interfaz de usuario ligera.

  • Estación de servicio: Extensión de WCF con comportamientos personalizados
    Aaron Skonnard - December 2007
    Los puntos de extensibilidad de WCF permiten personalizar el proceso mediante el cual se traducen los mensajes, reciben formato y se envían a través de la red para conseguir unos servicios más personalizados.

  • Netting C++: EEK! Hora de diseñar el mouse
    Stanley B. Lippman - December 2007
    Este mes comienza el diseño de la clase real de mouse para EEK!

  • .NET Matters: IFileOperation en Windows Vista
    Stephen Toub - December 2007
    El autor crea un contenedor administrado para usar la interfaz nueva de IFileOperation en Windows Vista desde código administrado.

  • Cuadro de herramientas: Controles de cuadrícula actualizados, herramientas de comparación de código abierto y mucho más
    Scott Mitchell - November 2007
    Esta vez: cuadrículas de Windows Forms, cuadros de texto de fecha con aspecto profesional, combinación de archivos y mucho más.

  • CLR Inside Out: Administración de la vigencia de los objetos
    Tim Fischer - November 2007
    Aunque .NET Framework ofrece un entorno de ejecución administrado, es importante tener en cuenta la administración de la vigencia de los objetos y escribir código que use y libere correctamente los recursos. El equipo de CLR le muestra el proceso.

  • Instintos básicos: Métodos de extensión
    Adrian Spotty Bowles - November 2007
    En esta columna analizamos una de las nuevas características de Visual Basic 2008: los métodos de extensión. Esta nueva y eficaz característica se presentó para admitir LINQ. Conozca qué son los métodos de extensión y cómo aplicarlos, y obtenga algunas sugerencias de uso extraordinarias.

  • Espacio Office: Eventos en SharePoint 2007
    Ted Pattison - November 2007
    Windows SharePoint Services (WSS) 3.0 ofrece una infraestructura nueva y mejorada para controlar los eventos de los servidores. En esta entrega de Espacio Office, nos centramos en las técnicas para enlazar eventos precedentes y posteriores tanto mediante características como con código.

  • Cutting Edge: Administración de la experiencia de usuario en AJAX
    Dino Esposito - November 2007
    Este mes Dino analiza las limitaciones y los problemas de la interfaz de usuario en las páginas AJAX de representación parcial y las técnicas para administrar la interfaz de usuario.

  • Team System: Creación de directivas de validación personalizadas
    Brian A. Randell - November 2007
    Team Foundation Server ofrece las API que permiten crear implementaciones de notas de protección (datos de cadena clasificados) y directivas de validación personalizadas. Estas características se combinan para ofrecer a los administradores de proyecto un mejor control sobre el proceso de desarrollo del grupo.

  • Foundations: Contextos de sincronización en WCF
    Juval Lowy - November 2007
    Después de una descripción de qué son los contextos de sincronización y cómo los usa WCF, el autor demuestra distintas opciones para ampliar WCF a fin de usar contextos de sincronización personalizados, mediante programación o declaración.

  • Bugslayer: Estimación del impacto del estado de vista
    John Robbins - November 2007
    El estado de vista recargada puede ser un verdadero cuello de botella de rendimiento para las aplicaciones web, pero puede ser difícil de diagnosticar. John Robbins crea una herramienta muy práctica que registra y notifica el tamaño del estado de vista de las páginas de las aplicaciones de APS.NET.

  • Concurrent Affairs: APM simplificado con C#
    Jeffrey Richter - November 2007
    Jeffrey Richter presenta su clase AsyncEnumerator y explica cómo aprovecha algunas adiciones recientes al lenguaje de programación C# que facilitan de forma significativa el trabajo con el modelo de programación asincrónico.

  • .NET Matters: Depuración de finalizadores
    Stephen Toub - November 2007
    Averigüe cómo usar finalizadores como una manera de advertir a los desarrolladores que usan sus tipos personalizados cuando se recopilan como elementos no usados sin haber sido eliminados de forma correcta.

  • { Paréntesis de cierre }: WPF también es para desarrolladores
    Kevin Moore - November 2007
    Los desarrolladores aún pueden desempeñar un papel en la creación de aplicaciones con WPF y XAML. De hecho, quedan tres: fontanero, autor de widgets y pionero.

  • Subprocesos agrupados: Mejore la escalabilidad con las nuevas API de grupo de subprocesos
    Robert Saccone - October 2007
    Las nuevas API del grupo de subprocesos en Windows Vista y el próximo Windows Server 2008 ofrecerán avances que incluso pueden beneficiar a los desarrolladores de aplicaciones nativas de Windows.

  • Subprocesos de WPF: Cree aplicaciones con más capacidad de respuesta con el distribuidor
    Shawn Wildermuth - October 2007
    Los conceptos básicos del modelo de subprocesos de Windows Presentation Foundation son de gran utilidad a la hora de crear interfaces de usuario tanto atractivas como con capacidad de respuesta.

  • LINQ paralelo: Ejecución de consultas en procesadores multinúcleo
    Joe Duffy and Ed Essey - October 2007
    Use Parallel Language Integrated Query (PLINQ) para sacar partido de las ventajas que ofrecen los equipos multinúcleo y de la última ola de procesadores multinúcleo.

  • Rendimiento paralelo: Optimice código administrado para equipos multinúcleo
    Daan Leijen and Judd Hall - October 2007
    Aunque los procesadores multinúcleo son cada vez más habituales, la mayoría de las aplicaciones todavía no puede sacar provecho del uso de varios núcleos. Este artículo es una introducción a la creación de aplicaciones multiproceso que se benefician de estos nuevos procesadores.

  • Nota del editor: La complejidad de las complejidades
    Howard Dierking - October 2007
    Este mes nuestro nuevo Jefe de redacción, Howard Dierking, reflexiona sobre la comodidad de usar las metáforas y las abstracciones en el contexto del diseño de software y de la elaboración de revistas.

  • Cuadro de herramientas: Administre bases de datos, FTP más sencillo y almacenamiento en caché en clúster
    Scott Mitchell - October 2007
    Entre los productos que presentamos este mes se incluyen DatabaseSpy, FileZilla, NCache y otros.

  • CLR Inside Out: IronPython y el tiempo de ejecución de lenguaje dinámico
    Bill Chiles - October 2007
    Este artículo usa la versión .NET de los lenguajes de programación Python (IronPython) para demostrar el valor de los lenguajes dinámicos y del nuevo tiempo de ejecución de lenguaje dinámico.

  • Instintos básicos: Inferencia de tipos en Visual Basic 2008
    Bill Horst - October 2007
    Visual Basic 2008 ofrece inferencia de tipos para preparar el lenguaje y sacar el máximo partido de LINQ y fortalecer su código.

  • Cutting Edge: Arquitectura de aplicaciones AJAX, segunda parte
    Dino Esposito - October 2007
    La segunda de esta serie de dos partes se adentra en el modelo de programación de servicios de script, que le resultará útil si está buscando un cambio de paradigma absoluto en lo relativo a la creación de las aplicaciones AJAX.

  • Test Run: Automatización de prueba con Windows XP Embedded
    Dr. James McCaffrey and Mike Hall - October 2007
    El artículo de este mes explora cómo crear una automatización de prueba eficaz de interfaz de usuario en sistemas de software que se ejecutan en Windows XP Embedded.

  • Foundations: Texto 3D en WPF
    Charles Petzold - October 2007
    Este mes Charles Petzold explora las técnicas con las que se puede generar texto 3D en Windows Presentation Foundation.

  • Netting C++: Descripción de EEK!-osystem
    Stanley B. Lippman - October 2007
    En esta columna se explica cómo crear un documento XML que contiene los datos de simulación del entorno de un ratón y muestra cómo incorporar un archivo XML en el programa mediante un objeto DataSet.

  • .NET Matters: Monitor de interbloqueo
    Stephen Toub - October 2007
    Este mes Stephen Toub nos habla de los interbloqueos que pueden ocurrir a la hora de sincronizar subprocesos.

  • { Paréntesis de cierre }: Aplicaciones web híbridas para el matrimonio
    Michael Richter - October 2007
    El administrador de nuestro sitio, Mike Richter, aprovechó Virtual Earth, el servicio web de Microsoft MapPoint, y Visual Studio, para automatizar la creación de un sitio web para su boda y la administración de la lista de invitados.

  • ASP.NET: ScriptManager permite usar AJAX en aplicaciones web
    Ben Rush - September 2007
    Descubra cómo se usa el control ScriptManager, que proporciona la mayor parte de la magia que hay detrás de AJAX de ASP.NET.

  • Funciones de red: Conéctese con .NET Framework 3.5
    Mariya Atanasova, Larry Cleeton, Mike Flasko, and Amit Paka - September 2007
    Este artículo cubre tres cambios centrales en relación a la compatibilidad con la red de Visual Studio 2008 y la próxima versión de .NET Framework.

  • Cuadro de herramientas: Controles ASP.NET, FTP y más
    Scott Mitchell - September 2007
    Los controles ASP.NET, una completa biblioteca FTP, compatibilidad mejorada con imágenes y un libro acerca de SQL Server 2005.

  • Pinceladas sobre seguridad: Exploración de la identidad basada en solicitudes
    Keith Brown - September 2007
    Keith Brown le presenta el nuevo modelo de identidad en Microsoft .NET Framework 3.0.

  • .NET Matters: Cuentos del CryptoRandom
    Stephen Toub and Shawn Farkas - September 2007
    Stephen Toub y Shawn Farkas tratan de la creación de un adaptador que funcione como RNGCryptoServiceProvider y su adaptación a la interfaz de Random.

  • { Paréntesis de cierre }: Pasar las páginas con WPF
    Tim Sneath - September 2007
    La British Library está digitalizando parte de su colección para llegar a una mayor audiencia. Lo que es aún mejor, las versiones digitalizadas se están convirtiendo en una experiencia interactiva muy enriquecida que da vida a los libros.

  • WPF: Visualización de contenido flexible con documentos dinámicos
    Markus Egger - August 2007
    Markus Egger analiza toda la flexibilidad y la eficacia de los documentos dinámicos en Windows Presentation Foundation

  • OPC: Nuevo estándar para empaquetar sus datos
    Jack Davis and Andrey Shur - August 2007
    La norma Convenciones de empaquetado abierto (OPC) define un medio estructurado que sirve para almacenar los datos de una aplicación con los recursos relacionados. Obtenga más información acerca de sus ventajas aquí.

  • Aplicaciones de Office: Amplíe su código VBA con VSTO
    Paul Stubbs and Kathleen McGrath - August 2007
    VSTO le ofrece el conjunto completo de características de Visual Studio incluidas LINQ, WPF, WCF y .NET Framework 3.5.

  • Excel Services: Desarrolle un motor de cálculo para sus aplicaciones
    Vishwas Lele and Pyush Kumar - August 2007
    La arquitectura de Excel Services permite a los usuarios diseñar sus propios algoritmos y compartir libros en un servidor.

  • CLR Inside Out: Recomendaciones para las colecciones
    Inbar Gazit - August 2007
    Este mes, Inbar Gazit muestra a los lectores cómo obtener lo mejor del espacio de nombres de System.Collections.

  • Instintos básicos: Comprensión de consultas
    Scott Wisniewski - August 2007
    Scott Wisniewski profundiza en LINQ y genera un proveedor de consultas personalizado para crear consultas en aplicaciones reales

  • Office Space: Implementación de soluciones con SharePoint 2007
    Ted Pattison - August 2007
    WSS 3.0 presenta un nuevo mecanismo de implementación que le permite mover sus esfuerzos de desarrollo a un entorno de ensayo o de producción.

  • Cutting Edge: Cancelación de las tareas de servidor con AJAX de ASP.NET
    Dino Esposito - August 2007
    Este mes Dino explica cómo cancelar de forma remota las tareas que se ejecutan en el servidor por medio de AJAX de ASP.NET.

  • Extreme ASP.NET: Web Client Software Factory
    Fritz Onion - August 2007
    Web Client Software Factory está diseñado con el fin de ofrecer orientación y herramientas mejoradas para generar servicios web que usan ASMX o WCF.

  • Foundations: Seguridad declarativa de WCF
    Juval Lowy - August 2007
    Juval Lowy diseña configuraciones de seguridad de ajuste fácil para aplicaciones basadas en Windows Communication Foundation

  • Netting C++: Configuración con XML
    Stanley B. Lippman - August 2007
    Stanley B. Lippman explora el uso de C ++/CLI como lenguaje puramente compatible con Microsoft .NET Framework.

  • Movilidad: Haga que sus aplicaciones WPF tengan en cuenta el consumo de energía
    Andre Michaud - July 2007
    En este artículo, Andre Michaud describe cómo usar las notificaciones de energía para hacer que las aplicaciones tengan en cuenta el consumo de energía.

  • Compartir códigos: Escriba código una sola vez: tanto para las aplicaciones móviles como para las de escritorio
    Daniel Moth - July 2007
    Si ya está creando aplicaciones cliente .NET, ahora puede dirigirlas a Windows Mobile usando las mismas habilidades y conjunto de herramientas.

  • NTFS: Mejore sus aplicaciones con transacciones del sistema de archivos
    Jason Olson - July 2007
    Lo presentado aquí es una introducción a NTFS transaccional y de qué manera revoluciona las transacciones.

  • Seguridad: Aplicación de criptografía con la API CNG en Windows Vista
    Kenny Kerr - July 2007
    La criptografía de próxima generación (CNG) se ha ideado para que sea un sustituto a largo plazo de CryptoAPI y ofrece métodos alternativos para todas las primitivas que éste incluye.

  • CLR Inside Out: Descripción detallada de IDisposable
    Shawn Farkas - July 2007
    Este mes: Limpieza de recursos que no son elementos no usados recopilados por el recolector de elementos CLR

  • Puntos de datos: Información general sobre ADO.NET Entity Framework
    John Papa - July 2007
    El nuevo Entity Framework de ADO.NET permitirá manipular datos mediante un modelo de objeto. John Papa explica.

  • Cutting Edge: Comentarios contextuales con AJAX.
    Dino Esposito - July 2007
    Más allá de las barras de progreso: cómo hablar a aplicaciones de servidor con AJAX de ASP.NET.

  • Estación de servicio: Enlaces de WCF con detalle
    Aaron Skonnard - July 2007
    El modelo de programación de WCF facilita la configuración de servicios con una variedad de formatos y protocolos de mensajes, gracias a los enlaces.

  • Acerca de los errores: Cruce encadenado con esperas
    John Robbins - July 2007
    Windows Vista tiene una nueva API denominada Cruce encadenado con esperas (WCT), que permite determinar cuándo y por qué se produce interbloqueo en un proceso. Siga leyendo.

  • Pinceladas sobre seguridad: Dependencias de la memoria caché de Active Directory
    Keith Brown - July 2007
    Si no está aprovechando las ventajas de Active Directory, debería hacerlo. Conozca sus ventajas con Keith Brown.

  • Foundations: Ampliación de las clases de animación de WPF
    Charles Petzold - July 2007
    Aprenda lo que las clases de animación de WPF pueden hacer, lo que no pueden hacer y cómo extenderlas.

  • C# 3.0: La evolución de LINQ y su impacto en el diseño de C#
    Anson Horton - June 2007
    LINQ permite a los desarrolladores aprovechar la eficacia de las consultas. Averigüe cómo se concibió.

  • VISUAL BASIC: Descubra la eficacia de las consultas en Visual Studio "Orcas"
    Ting Liang and Kit George - June 2007
    LINQ, que se incorpora en la próxima versión de Visual Studio, nombre en código "Orcas", agrega consultas de datos con seguridad de tipos a los lenguajes .NET.

  • C++: Una mirada desde adentro a la próxima generación de Visual C++
    Tarek Madkour - June 2007
    La próxima versión de Visual Studio (nombre en código "Orcas") ayudará a los desarrolladores de C++ a aprovechar todas las ventajas de las nuevas capacidades de Windows Vista.

  • IU de OFFICE: Las nuevas funciones de VSTO ayudan a personalizar Word y Outlook
    Steve Fox and Paul Stubbs - June 2007
    Descubra cómo usar Microsoft Visual Studio Tools para Microsoft Office System con el fin de crear aplicaciones personalizadas muy eficaces para 2007 Microsoft Office System.

  • SILVERLIGHT: Empiece a disfrutar aún más navegando por la Web
    Laurence Moroney - June 2007
    Creación de enriquecidas aplicaciones atractivas e interactivas para varias plataformas con Microsoft Silverlight.

  • CLR Inside Out: Reflexiones sobre la reflexión
    Mike Repass - June 2007
    La entrega de este mes de CLR Inside Out trata sobre la reflexión y el espacio de nombres System.Reflection.

  • Puntos de datos: SQL Server Management Objects
    John Papa - June 2007
    SQL Server Management Objects ofrece a los desarrolladores un sólido conjunto de herramientas para realizar copias de seguridad y restaurar bases de datos y ejecutar comandos DDL, tal como explica John Papa.

  • Conceptos básicos avanzados: Uso de RibbonX desde Visual Basic
    Ken Getz - June 2007
    Ken Getz prepara a los desarrolladores de Visual Basic para el uso de RibbonX.

  • Cutting Edge: Flujos de trabajo transaccionales
    Dino Esposito - June 2007
    Al modelar la lógica de negocios, los flujos de trabajo representan inevitablemente tareas transaccionales, de modo que necesita saber cómo codificar semántica de transacción en Windows Workflow Foundation.

  • Estación de servicio: Direccionamiento de WCF en profundidad
    Aaron Skonnard - June 2007
    Este mes Aaron Skonnard analiza detalles de direccionamiento en torno a la comunicación de extremos, muchos de los cuales permiten escenarios más avanzados de mensajería.

  • Código malvado: Sugerencias y trucos de UpdatePanel
    Jeff Prosise - June 2007
    Jeff Prosise explica cuándo es preferible usar UpdatePanel y cuándo resulta más adecuado usar llamadas asincrónicas a WebMethods o métodos de páginas.

  • Foundations: ActivityExecutionContext en flujos de trabajo
    Matt Milner - June 2007
    Este mes, Matt Milner explica un componente crítico en la ejecución, persistencia y compensación de flujos de trabajo.

  • Operaciones simultáneas: Operaciones asincrónicas de dispositivo
    Jeffrey Richter - June 2007
    Jeff Richter usa la clase AsyncResult<TResult> para implementar el modelo de programación asincrónica de CLR para realizar operaciones de dispositivos de hardware de forma asincrónica.

  • Netting C++: EEK! Introducción
    Stanley B. Lippman - June 2007
    Stanley Lippman empieza por echar un vistazo al uso de C++/CLI como lenguaje puramente compatible con .NET.

  • .NET Matters: Control de mensajes en las aplicaciones de consola
    Stephen Toub - June 2007
    Muchos desarrolladores que usan Microsoft .NET Framework piensan que el tipo de aplicación está relacionado con las bibliotecas que se pueden usar en esa aplicación. Stephen Toub lo clarifica.

  • ¡A jugar! : Deje volar su imaginación con XNA Game Studio Express
    Charles Cox and Michael Klucher - May 2007


  • WPF: Personalización de controles para Windows Presentation Foundation
    Shawn Wildermuth - May 2007


  • Migración: Convierta una Aplicación web de java en ASP.NET utilizando JLCA
    Brian Jimerson - May 2007


  • BizTalk Server: 8 consejos y trucos para mejorar la programación de BizTalk
    Marty Wasznicky and Scott Zimmerman - May 2007


  • Colaboración: Haga que su equipo trabaje conjuntamente gracias a los servicios web y Groove 2007
    John C. Hancock - May 2007


  • CLR Inside Out: 9 algoritmos y estructuras de datos paralelas reutilizables
    Joe Duffy - May 2007


  • Office Space: Características de SharePoint
    Ted Pattison - May 2007


  • Cutting Edge: Subclases e invalidación de páginas ASP.NET: 2ª parte.
    Dino Esposito - May 2007


  • Test Run: Pruebas ligeras con Windows PowerShell
    Dr. James McCaffrey - May 2007


  • Foundations: Propagación de las transacciones WCF
    Juval Lowy - May 2007


  • Identidad: Proporcione seguridad a las aplicaciones ASP.NET y los servicios WCF con Windows CardSpace
    Michèle Leroux Bustamante - April 2007
    Windows CardSpace reemplaza la autenticación tradicional con un proceso de inicio de sesión mejorado y más coherente. Asimismo, mejora la relación de confianza entre usuarios finales, aplicaciones y servicios. Michèle Leroux Bustamante ofrece sus explicaciones.

  • Aero Glass: Creación de efectos especiales con el Administrador de ventanas de escritorio
    Ron Fosner - April 2007
    En este artículo presentamos el Administrador de ventanas de escritorio, la nueva interfaz que administra la presentación de las ventanas en el escritorio de Windows Vista.

  • Seguimiento de eventos: Mejore la depuración y el ajuste del rendimiento con ETW
    Dr. Insung Park and Ricky Buch - April 2007
    El seguimiento de eventos para Windows (ETW) ofrece un seguimiento de eventos de uso general y alta velocidad generados por aplicaciones en modo de usuario y controladores de dispositivos en modo kernel. Conozca cómo ETW puede mejorar su trabajo de desarrollo y depuración.

  • ASP.NET 2.0: Aplicación de estándares web para una mejor accesibilidad
    Ben Waldron - April 2007
    Los estándares web son mucho más que etiquetas HTML de cierre. Son un factor esencial del uso adecuado de componentes de software en contextos futuros.

  • CLR Inside Out: Nuevas clases de biblioteca en "Orcas"
    Mike Downen, Inbar Gazit, and Justin Van Patten - April 2007
    La próxima versión de Visual Studio, denominada "Orcas", admite algoritmos de cifrado avanzados, criptografía de curva elíptica, números enteros elevados y otras mejoras de seguridad. El equipo CLR se explica.

  • Team System: Seguimiento de elementos de trabajo
    Brian A. Randell - April 2007
    En esta columna, Brian Randell explica cómo crear un sencillo explorador de elemento de trabajo y muestra las principales operaciones necesarias para agregar compatibilidad con el elemento de trabajo cuando se crea un complemento propio.

  • Cutting Edge: Subclases y reemplazo de páginas ASP.NET: 1ª parte
    Dino Esposito - April 2007
    Hay varias técnicas que le permitirán modificar una página ASP.NET en ejecución sin tocar su código fuente. Dino analiza algunas este mes.

  • Pinceladas sobre seguridad: Mejore la capacidad de administración mediante el registro de eventos
    Keith Brown - April 2007
    Si algo falla, una aplicación fácil de administrar indicará al administrador cómo corregir el problema. El Registro de eventos de Windows puede ofrecer la información necesaria.

  • Extreme ASP.NET: Proyectos de implementación web
    Fritz Onion - April 2007
    El desarrollo de ASP.NET 2.0 es el desarrollo más sencillo de ASP hasta hoy. Fritz Onion revela los motivos.

  • Temas de .NET: Administrador de reinicio y compilación genérica de métodos
    Stephen Toub - April 2007
    Este mes Stephen Toub responde a las preguntas relacionadas con la API del Administrador de reinicio de Windows Vista y la compilación de métodos genérica.

  • Netting C++: Asignación de plantillas a elementos genéricos
    Stanley Lippman - April 2007
    En esta entrega, Stanley Lippman continúa convirtiendo su aplicación de aplicación de lenguaje de consulta de texto ISO-C++ a Microsoft .NET Framework y C++/CLI.

  • { Paréntesis de cierre }: Geovínculos
    Joshua Trupin - April 2007
    Josh Trupin presenta la geovinculación (geopegging), una técnica especial para almacenar datos de ubicación GPS en un JPG.

  • IIS 7.0: Explore el servidor web de Windows Vista y más allá
    Mike Volodarsky - March 2007
    IIS 7.0 toma la velocidad, la confiabilidad y la seguridad de IIS 6.0 y lo convierte en un servidor web sumamente extensible y administrable que ejecutará las aplicaciones web del futuro.

  • Seguridad de .NET: Compatibilidad con certificados en las aplicaciones con .NET Framework 2.0
    Dominick Baier - March 2007
    Este artículo ofrece una descripción general de los certificados, se ocupa del almacén de certificados de Windows y trata las API de certificados de .NET Framework 2.0.

  • Multimedia digital: Agregar vídeo a controles y superficies 3D con WPF
    Lee Brimelow - March 2007
    Aquí el autor presenta la integración multimedia de Windows Presentation Foundation para que pueda agregar archivos multimedia y efectos visuales deslumbrantes a sus aplicaciones.

  • Trucos de WiX: Automatizar lanzamientos con MSBuild y Windows Installer XML
    Sayed Ibrahim Hashimi - March 2007
    Consiga un proceso de compilación y lanzamiento automatizado con el conjunto de herramientas Microsoft Build Engine (MSBuild) y Windows Installer XML (WiX).

  • ASP.NET 2.0: Administrar usuarios web con proveedores de perfiles personalizados
    Jason N. Gaylord - March 2007
    En ASP.NET 2.0, los proveedores de perfiles permiten administrar a los usuarios de manera más eficaz. Descubra cómo hacerlo aquí.

  • CLR Inside Out: Extensibilidad de aplicaciones .NET, segunda parte
    Jack Gudenkauf and Jesse Kaplan - March 2007
    Este mes, los autores tratan la canalización de System.AddIn y muestran cómo garantizar la compatibilidad a medida que las versiones de host y complemento cambian de manera independiente.

  • Test Run: Prueba de la secuencia de transformación personalizada
    Dr. James McCaffrey - March 2007
    Este mes: técnicas clave que puede usar para probar las clases de secuencia personalizadas que los datos de transformación leen o escriben en otra secuencia.

  • Cutting Edge: Validación de cadenas de consulta de ASP.NET
    Dino Esposito - March 2007
    Si las páginas de ASP.NET usan parámetros de cadena de consulta, debe comprobar que estén correctamente validados antes de usar la aplicación. A continuación, Dino Esposito muestra cómo hacerlo.

  • Código malvado: Aplicaciones escalables con programación asincrónica en ASP.NET
    Jeff Prosise - March 2007
    ASP.NET es compatible con tres modelos de programación asincrónica que mantienen el grupo de procesos limpio y resplandeciente. Descubra cómo implementarlos aquí.

  • Bugslayer: Control de la interfaz gráfica de usuario para principiantes
    John Robbins - March 2007
    Este mes John Robbins muestra el uso de las herramientas de automatización de interfaz de usuario y de las API para obtener pruebas automatizadas más confiables de la interfaz gráfica de usuario

  • Foundations: Servicios de seguimiento en Windows Workflow Foundation
    Matt Milner - March 2007
    Este mes: la infraestructura de seguimiento de Windows Workflow Foundation y el uso del servicio de seguimiento integrado basado en SQL Server para un seguimiento personalizado.

  • Operaciones simultáneas: Implementación del modelo de programación asincrónica de CLR
    Jeffrey Richter - March 2007
    Jeffrey Richter muestra cómo definir una clase para implementar el modelo de programación asincrónica de CLR con el fin de obtener operaciones de E/S más eficientes

  • { End Bracket }: Desarrollo del control Virtual Earth 3D
    Duncan Lawler - March 2007
    Todo lo que deseaba saber acerca del uso del control Virtual Earth 3D.

  • RibbonX API: Ampliación del sistema Office 2007 con las fichas y controles de Cinta
    Eric Faller - February 2007
    Si quiere crear en Office sus propias fichas y controles de apariencia profesional, consulte RibbonX API del sistema Microsoft Office 2007.

  • Los datos se unen al equipo: Introducción de Visual Studio 2005 Team Edition para Database Professionals
    Brian A. Randell - February 2007
    En este artículo, Brian Randell le enseña todo lo que tiene que saber para empezar a usar Visual Studio 2005 Team Edition para Database Professionals.

  • SQL Server 2005: Las expresiones regulares facilitan las coincidencias con patrones y la extracción de datos
    David Banister - February 2007
    Ahora puede realizar análisis de texto eficaces y sofisticados mediante expresiones regulares en SQL Server 2005.

  • CLR Inside Out: Extensibilidad de aplicaciones .NET
    Jack Gudenkauf and Jesse Kaplan - February 2007
    Este mes, el equipo de CLR presenta el nuevo espacio de nombres System.AddIn en la biblioteca de clases base, que estará disponible con la próxima versión de Visual Studio.

  • Centros de entrada de datos: Aplicaciones de datos enlazados con ADO.NET y objetos personalizados
    John Papa - February 2007
    En este artículo, se muestra cómo enlazar una lista personalizada de entidades empresariales mediante las herramientas de enlace de .NET Framework 2.0.

  • Espacio Office: Creación de archivos XML abiertos de Office
    Ted Pattison - February 2007
    Este nuevo artículo examina cómo puede ampliar y personalizar las aplicaciones y los formatos de archivo de Microsoft Office System.

  • Test Run: Automatización de prueba AJAX
    Dr. James McCaffrey - February 2007
    Este mes el Dr. James McCaffrey presenta una técnica que permite escribir una automatización de prueba ligera para comprobar la funcionalidad de las aplicaciones web AJAX.

  • Cutting Edge: Perspectivas sobre ASP.NET AJAX
    Dino Esposito - February 2007
    AJAX le permite crear aplicaciones de explorador avanzadas mediante eficaces combinaciones de tecnologías web de cliente existentes. Este mes, Dino se adentra en AJAX

  • Estación de servicios: Service Factory para WCF
    Aaron Skonnard - February 2007
    Este mes, Aaron Skonnard continúa explorando las fábricas de software y comenta Web Service Software Factory para Windows Communication Foundation.

  • Netting C++: Asignación de C++ nativo a Common Type System
    Stanley B. Lippman - February 2007
    Este mes Stanley Lippman empieza a traducir la jerarquía de clases Query del lenguaje de consulta de texto (TQL, Text Query Language) de C++ al Common Type System de .NET.

  • C++ At Work: Lógicas, aspectos importantes y despedida
    Paul DiLascia - February 2007
    Qué pasa con las funciones const y mucho más sobre la lógica del diseño de C++/CLI.

  • Windows Vista y Office: Vea los datos a su manera con el marco de controladores de vista previa administrados
    Stephen Toub - January 2007
    Stephen Toub explica cómo escribir controladores de vista previa para Windows Vista y Outlook 2007.

  • Gadgets SideShow: Aprenda a escribir gadgets para dispositivos con Windows SideShow
    Jeffrey Richter - January 2007
    Los gadgets de SideShow para Windows Vista son fabulosos. Escribir los suyos propios es aún mejor. Descubra cómo se hace.

  • Depuración de aplicaciones con pérdidas: Identificación y prevención de pérdidas de memoria en el código administrado
    James Kovacs - January 2007
    Circunstancias en que el recolector de elementos no utilizados de .NET no puede reclamar memoria La respuesta puede sorprenderle. Permanezca al tanto.

  • CLR Inside Out: Introducción a la interoperabilidad COM
    Thottam R. Sriram - January 2007
    El CLR permite interacciones perfectas entre las aplicaciones de Microsoft .NET y COM. Pero, ¿exactamente cómo? El equipo de CLR lo sabe.

  • Data Points: Expresiones de columna, DataRelation y cálculos
    John Papa - January 2007
    Este mes, John Papa presenta algunas de sus preguntas preferidas sobre la manipulación de datos con ADO.NET.

  • Cutting Edge: El lado de servidor de las páginas ASP.NET
    Dino Esposito - January 2007
    ¿Dónde se almacenan los archivos generados por ASP.NET y cómo se usan para atender solicitudes de página? Este mes, Cutting Edge lo explica.

  • Foundations: Uso de las plantillas para personalizar controles WPF
    Charles Petzold - January 2007
    Este mes, damos la bienvenida a Charles Petzold a MSDN Magazine con su primer artículo sobre creación de aplicaciones para Windows Vista y Microsoft .NET Framework 3.0.

  • Team System: Control de versiones de Team Foundation Server
    Brian A. Randell - January 2007
    En este nuevo artículo, Brian Randell da comienzo a un análisis profundo acerca de la ampliación y la mejora de Visual Studio Team System.

  • Extreme ASP.NET: Llamadas a servicios web del lado cliente con AJAX Extensions
    Fritz Onion - January 2007
    Microsoft AJAX Library y ASP.NET 2.0 AJAX Extensions ofrecen una serie de características atractivas, desde el enlace de datos del lado cliente a las animaciones y los comportamientos de DHTML. Obtenga toda la información al respecto aquí.

  • Security Briefs: Uso de la transición de protocolos: consejos desde las trincheras
    Keith Brown - January 2007
    Ahora que la implementación de Windows Server 2003 es tan común, Keith Brown da respuesta a preguntas de los lectores que intentan usar la transición de protocolos para crear puertas de enlace seguras a sus intranet.

  • Graphics To Go: Creación de una aplicación de imágenes móvil con .NET Compact Framework 2.0
    Rob Pierry - December 2006
    Este artículo se centra en el desarrollo de Pocket PC, lo que posteriormente puede transferirse al desarrollo de aplicaciones para Smartphone.

  • Windows Workflow: Creación de actividades personalizadas para ampliar el alcance de los flujos de trabajo
    Matt Milner - December 2006
    En este artículo se tratan los componentes básicos necesarios para crear actividades personalizadas en Windows Workflow Foundation.

  • Extensión de ASP.NET: Simplificación de enlace de datos en ASP.NET 2.0 con nuestro control personalizado
    Rick Strahl - December 2006
    El control wwDataBinder aborda el enlace de datos de control simple: controles de formulario simple de enlace como cuadros de texto, casillas de verificación y los valores seleccionados de los controles de lista para valores de objeto o datos individuales.

  • Adaptadores de BizTalk: Integración del procesamiento del correo electrónico en las soluciones empresariales
    Alex Starykh - December 2006
    Utilice BizTalk Server para supervisar el correo electrónico en busca de nuevos mensajes, activar confirmaciones y mantener el correo electrónico y los datos adjuntos en una base de datos personalizada.

  • Conceptos básicos avanzados: TableLayoutPanels
    Ken Getz - December 2006
    Este mes Ken Getz escribe sobre un sistema de creación de demostraciones para aplicaciones basadas en Windows, que él denomina "panel de control".

  • CLR Inside Out: Análisis de herramientas de diagnóstico para .NET
    Jonathan Keljo - December 2006
    En esta edición de CLR Inside Out, examinaremos la API de generación de perfiles de CLR y las herramientas que la utilizan.

  • Data Points: Fuentes RSS en un Smartphone
    John Papa - December 2006
    John Papa crea una aplicación Windows Mobile 5.0 que lee fuentes RSS y las carga en un DataSet de ADO.NET.

  • Cutting Edge: El cliente de las páginas ASP.NET
    Dino Esposito - December 2006
    Este mes, Dino Esposito realiza un minucioso análisis del código fuente del cliente generado por las páginas ASP.NET.

  • Test Run: Permutaciones de cadenas
    Dr. James McCaffrey - December 2006
    Tal y como explica James McCaffrey, poder crear permutaciones de cadenas mediante programación es fundamental para poder hacer pruebas de software.

  • .NET Matters: Progreso de deserialización y más
    Stephen Toub - December 2006
    Cree una barra de progreso estándar que indique qué porcentaje de la deserialización se ha completado y qué porcentaje queda por completarse. Y además, rendimiento de System.Collection.Generics.

  • Netting C++: Espacio de diseño de Common Type System
    Stanley B. Lippman - December 2006
    Stanley Lippman pasa el lenguaje de consulta de texto (TQL) a Microsoft .NET Framework con extensiones del lenguaje C++/CLI de Visual C++ 2005.

  • Inicio de sesión único: Introducción dedicada a desarrolladores sobre los Servicios de federación de Active Directory
    Keith Brown - November 2006


  • Basic Instincts: Generación de documentos de Word 2007 en el servidor
    Ted Pattison - November 2006


  • Test Run: Uso de Excel para realizar pruebas en conjuntos de datos
    Dr. James McCaffrey - November 2006


  • Data Points: Revisión de System.Transactions
    John Papa - November 2006


  • CLR Inside Out: Investigación de problemas de memoria
    Claudio Caldato and Maoni Stephens - November 2006


  • Cutting Edge: Un viaje por las actividades del flujo de trabajo de Windows
    Dino Esposito - November 2006


  • Bugslayer: Minivolcados para excepciones específicas
    John Robbins - November 2006


  • Security Briefs: Problemas limitados de los usuarios y conocimiento fragmentado
    Keith Brown - November 2006


  • Concurrent Affairs: El bloqueo ReaderWriterGate
    Jeffrey Richter - November 2006


  • .NET Matters: Descriptores de acceso a eventos
    Stephen Toub - November 2006


  • Netting C++: Introducción a las expresiones regulares
    Stanley B. Lippman - November 2006


  • WCF Essentials: What You Need To Know About One-Way Calls, Callbacks, And Events
    Juval Lowy - October 2006
    Object and component-oriented programming have only one way for clients to call a method, but Windows® Communication Foundation introduces two more. In this article Juval Lowy explains how they work.

  • Fundamentos de la aplicación: Creación de una buena experiencia de usuario con Windows Presentation Foundation
    Michael Weinhardt - October 2006
    El modelo de aplicación de Windows Presentation Foundation establece una diferencia entre aplicaciones independientes y aplicaciones de explorador, y entre navegación basada en menús y navegación basada en hipervínculos. Esta distinción permite brindar una experiencia más satisfactoria a los usuarios.

  • Web Service Workflows: Deploy Distributed Business Processes With Windows Workflow And Web Services
    Israel Hilerio - October 2006
    Due to the distributed nature of a business process it makes sense for a workflow to be deployed as a distributed application. See how Windows Workflow and Web Services hold the key.

  • SQL Server 2005: Jazz Up Your Data Using Custom Report Items In SQL Server Reporting Services
    Teo Lachev - October 2006
    Custom report items in SQL Server 2005 Reporting Services address your needs for custom reports without the pain of doing it from scratch.

  • CLR Inside Out: IronPython
    James Schementi - October 2006
    IronPython, la implementación de CLR del lenguaje de programación dinámico Python se presenta este mes.

  • Inside MSDN: Consuming MSDN Web Services
    Craig Andera - October 2006
    Get the inside track on how the MSDN team uses Web Services to power MSDN2.

  • Cutting Edge: Simplify Task Progress with ASP.NET "Atlas"
    Dino Esposito - October 2006
    Dino Esposito rewrites his task progress bar with the help of ASP.NET “Atlas.”

  • Extreme ASP.NET: Control Adapters
    Fritz Onion - October 2006
    Control adapters let you provide alternate renderings of controls for mobile devices. But they can also be used to completely change the rendering of a con¬trol based on browser type, which can be useful in a number of situations.

  • Security Briefs: CardSpace, SqlMembershipProvider, and More
    Keith Brown - October 2006
    This month Keith Brown fields some reader questions on InfoCard turned CardSpace and passwords for SqlMembershipProvider.

  • Wicked Code: Running ASMX Web Services on STA Threads
    Jeff Prosise - October 2006
    Jeff Prosise describes performance problems in an ASMX Web service that relied on legacy COM and Visual Basic 6.0 to perform key processing tasks and the approach he took to find a fix.

  • Smart Clients: New Guidance And Tools For Building Integrated Desktop Applications
    Christian Thilmany and Jim Keane - September 2006
    Integrated Desktop is a loosely coupled hosting architecture and composite UI that runs on the desktop and is supported by a loosely coupled architecture on the back end. It collapses the number of applications a user must deal with when making decisions.

  • Enterprise Library: Aplique excepciones a errores críticos con bloques de aplicaciones personalizados
    Jay Hilyard - September 2006
    Enterprise Library es una colección de bloques de funciones de aplicaciones que puede utilizar varias veces en su aplicación para funciones comunes que, de otra forma, tendría que escribir una y otra vez. A continuación, Jay Hilyard explica cómo se usan.

  • Advanced Basics: Predicates and Actions
    Ken Getz - September 2006
    The System.Array and System.Collections.Generic.List classes provide methods that let you avoid writing code to loop through every element of an array or list to find the items you’re looking for. Ken Getz explains.

  • Test Run: Randomness in Testing
    Dr. James McCaffrey - September 2006
    In this installment of Test Run, James McCaffrey discusses how you can generate random test case data.

  • CLR Inside Out: Using concurrency for scalability
    Joe Duffy - September 2006
    Because of the popularity of multiprocessor machines, many concurrency articles focus on how to make concurrency safe in your code. However, they don't deal with how to get concurrency into your code in the first place.

  • Cutting Edge: Reporting Task Progress With ASP.NET 2.0
    Dino Esposito - September 2006
    The progress bar is great for keeping users informed about the progress of a task. Unfortunately, there’s no progress bar element built into ASP.NET, so Dino Esposito solves that problem with his ProgressPanel control.

  • Service Station: What's new in System.Xml 2.0?
    Aaron Skonnard - September 2006
    In this installment of Service Station, Aaron Skonnard takes a long hard look at System.Xml 2.0.

  • Concurrent Affairs: Concurrency and Coordination Runtime
    Jeffrey Richter - September 2006
    What can a robot-programming toolkit do for you? Read on and find out.

  • Temas de .NET: Scope<T> y más
    Stephen Toub - September 2006
    Este mes, Stephen Toub explica cómo usar en sus propias clases parte de la funcionalidad que se encuentra en la clase TransactionScope.

  • { End Bracket }: Dirty Rectangles.
    Jon Schwartz - September 2006
    Here Jon Schwartz discusses a programming environment designed just for kids.

  • Add-In Power: Let Users Customize Your Apps With Visual Studio Tools For Applications
    Paul Stubbs - August 2006
    If you're looking to increase the usefulness of your applications by making them customizable, you'll want to read about these three technologies available from Microsoft.

  • Basic Instincts: Resources and Localization in ASP.NET 2.0
    Ted Pattison - August 2006
    In this installment of Advanced Basics Ted Pattison discusses the localization of Web sites in ASP.NET 2.0.

  • CLR Inside Out: CLR Hosting APIs
    Alessandro Catorcini and Piotr Puszkiewicz - August 2006
    By using the CLR 2.0 hosting APIs, developers of native hosts can execute managed code in-process with complete knowledge and control over how the CLR behavior can affect their application.

  • Cutting Edge: All About Enums
    Dino Esposito - August 2006
    Dino Esposito reviews the basics of enumeration types and their implementation in the Microsoft .NET Framework.

  • Design Patterns: Model View Presenter
    Jean-Paul Boodhoo - August 2006
    The MVP pattern helps you separate your logic and keep your UI layer free of clutter. This month learn how.

  • Service Station: Serialization in Windows Communication Foundation
    Aaron Skonnard - August 2006
    Windows Communication Foundation supports several serialization mechanisms and provides a simple, interoperable foundation for future service-oriented applications. Here Aaron Skonnard explains it all.

  • Security Briefs: Security in Windows Communication Foundation
    Keith Brown - August 2006
    Windows Communication Foundation provides three major protections— confidentiality, integrity, and authentication. This month Keith Brown explains what they can do for you.

  • { End Bracket }: Deliver Beautiful Apps
    Kevin Moore - August 2006
    Kevin Moore ruminates on the future of UI design in Windows Vista.

  • Atlas At Last: ASP.NET Atlas Powers the AJAX-Style Sites You’ve Been Waiting For
    Matt Gibbs - July 2006


  • Code & Seek: Bring Windows Desktop Search Into Visual Studio With Our Cool Add-In
    Sergey Mishkovskiy - July 2006


  • Beyond WinFX: Transactions, Aero Wizards, And Task Dialogs In Windows Vista
    Kenny Kerr - July 2006


  • Web App Follies: Keep Sites Running Smoothly By Avoiding These 10 Common ASP.NET Pitfalls
    Jeff Prosise - July 2006


  • Patterns & Practices: Speed Development With Custom Application Blocks For Enterprise Library
    Mark Seemann - July 2006


  • Advanced Basics: Monitor Your Apps with System.Diagnostics
    Brad McCabe - July 2006
    It never fails. The application you just deployed ran great on your development machine—but stumbles in production. The problem might show up right away or maybe it creeps up over time. Now what?

  • CLR Inside Out: Using Strong Name Signatures
    Mike Downen - July 2006
    Strong name signatures (and signing in general) are a key facet of Microsoft® . NET Framework security. But regardless of how well designed . NET signatures may be, they won’t offer the maximum benefit if you don’t know how to use them properly.

  • Data Points: Report Controls in SQL Server 2005 Reporting Services
    John Papa - July 2006
    Reporting has always been one of the dark arts of development. The tools typically seem to do just enough to get you to a certain point, then leave you to find workarounds to solve more complex issues.

  • Cutting Edge: Context-Sensitive PictureBox Controls
    Dino Esposito - July 2006
    Great ideas are timeless. A long time ago in Microsoft Systems Journal Paul DiLascia demonstrated a neat trick to display context-sensitive tooltips floating over pictures. As the user moved the mouse over the picture, the tooltip control updated its text to reflect the name of the pointed figure.

  • Extreme ASP.NET: Asynchronous Web Parts
    Fritz Onion - July 2006
    Building a customizable Web site complete with a collection of pluggable Web Parts is fairly easy with the portal infrastructure of ASP. NET 2. 0. This model is very flexible, allowing users to easily place your Web Parts anywhere on the Web page so they are free to customize your site.

  • Inside MSBuild: Compile Apps Your Way With Custom Tasks For The Microsoft Build Engine
    Sayed Ibrahim Hashimi - June 2006
    Learn how you can use MSBuild to customize your builds. Since it ships as a part of the .NET Framework, you don't even need to have Visual Studio installed on your machine.

  • WCF Essentials: Discover Mighty Instance Management Techniques For Developing WCF Apps
    Juval Lowy - June 2006
    Instance management refers to a set of techniques used by Windows Communication Foundation to bind a set of messages to a service instance. This article introduces the concept and shows you why you need instance management.

  • Configure This: Parameterize Your Apps Using XML Configuration In The .NET Framework 2.0
    Bryan Porter - June 2006
    There are a number of ways to configure an application in the .NET Framework 2.0. This article explores the classes of the revamped System.Configuration namespace and explains how to use XML configuration files for your app configuration settings.

  • Class To Contract: Enrich Your XML Serialization With Schema Providers In The .NET Framework
    Keith Pijanowski - June 2006
    The Microsoft .NET Framework 1.x provided minimal options for mapping classes to schemas and serializing objects to XML documents, making this sort of mapping quite a challenge. The .NET Framework 2.0 changes all this with Schema providers and the IXmlSerializable interface.

  • Advanced Basics: Setting Word Document Properties the Office 2007 Way
    Ken Getz - June 2006
    The last time I wrote this column (March 2006), I shared an application that allows you to update all the Microsoft® Word documents in a folder and its subfolders. Each time the application finds a document in the specified path, it updates the document properties to match those you specified in the application.

  • CLR Inside Out: Windows Vista Globalization Features
    Shawn Steele - June 2006
    Windows XP and the Microsoft .NET Framework both have APIs that support globalization. Windows Vista™ will further extend globalization support by introducing several new features.

  • Test Run: Five Ways to Emit Test Results as XML
    Dr. James McCaffrey - June 2006
    The use of XML files in software testing has steadily increased over the past few years. Test case data, test harness configuration information, and test result data are now stored as XML. Recently I was writing some .

  • Cutting Edge: A Provider-Based Service for ASP.NET Tracing
    Dino Esposito - June 2006
    When it comes to catching programming errors, the debugger is a developer's best friend. ASP. NET tracing, however, is a nice complement to the debugger and shouldn't be overlooked. It enables your ASP.

  • Service Station: WSE 3.0, SOAP Transports, and More
    Aaron Skonnard - June 2006
    It's that time again. Time to answer some of the questions I get on a regular basis. This month I'll look at service orientation and policy-based compatibility, SOAP's transport-neutral design, and Web Services Enhancements (WSE) 3.0.

  • Wicked Code: Three Cures for Common Site Map Ailments
    Jeff Prosise - June 2006
    Data-driven site navigation is among the niftiest and most useful features in ASP. NET 2. 0. To get it working, all you do is create an XML site map file (or a SQL site map if you're using the MSDN®Magazine SqlSiteMapProvider), add a SiteMapDataSource, and bind a TreeView or Menu to the SiteMapDataSource.

  • Concurrent Affairs: Reader/Writer Locks and the ResourceLock Library
    Jeffrey Richter - June 2006
    If multiple threads concurrently execute code that writes to or modifies a resource, then obviously the resource must be protected with a thread synchronization lock to ensure that the resource doesn't get corrupted.

  • .NET Matters: Parameterized ThreadStart, EventWaitHandle, and More
    Stephen Toub - June 2006
    This month Stephen Toub answers readers questions that include: How do I pass data to a new thread? Why can't I convert from "ref string" to "ref object"? And what's the difference between EventWaitHandle, AutoResetEvent and ManualResetEvent?

  • Netting C++: The .NET Wrap
    Stanley B. Lippman - June 2006
    This month, we are changing the column name from Pure C++ to Netting C++ to better reflect our focus on Microsoft® . NET programming using C++/CLI, the . NET extensions to Visual C++® that are supported in Visual Studio® 2005.

  • C++ At Work: Managed Code in Visual Studio 2005
    Paul DiLascia - June 2006
    Many of you are no doubt in the process of upgrading to Visual Studio® 2005, so I thought now would be a good time to relate some of my own experiences with the new compiler. What took me so long? Hey, I'm a retro kind of guy! Better late than never!.

  • {End Bracket}: Singularity
    James Larus, Galen Hunt, and David Tarditi - June 2006
    When the C and C++ programming languages were invented, computers were slow, memory was limited, and compilers were simple and memory challenged, so a practical language could be little more than a veneer for assembly language.

  • Wrap It Up: Call Into The .NET Framework From Existing Visual Basic 6.0 Apps
    Scott Swigart - May 2006


  • Mix and Match: Integrate Windows Forms Into Your MFC Applications Through C++ Interop
    Marcus Heege - May 2006


  • Bug Bash: Let The CLR Find Bugs For You With Managed Debugging Assistants
    Stephen Toub - May 2006
    Managed Debugging Assistants are new to the .NET Framework 2.0 and help you to discover serious bugs quickly. Learn how to harness their power.

  • Analyze This: Find New Meaning In Your Ink With Tablet PC APIs In Windows Vista
    Markus Egger - May 2006


  • Editor's Note:
    - May 2006
    We know what you're thinking. Visual Studio 2005 has been out for a few months now. You're getting your head around it, discovering its vast inner beauty. But still, there's a nagging voice inside your head taunting you, asking why you're content to work with a released product.

  • Basic Instincts: Resources and Localization
    Ted Pattison - May 2006
    There are two ways you can utilize resources such as strings, images, and text-based files from your Microsoft® . NET Framework-based application. You can embed them directly in the app or you can load them from an external file.

  • CLR con detalle: Los beneficios de rendimiento de NGen.
    Surupa Biswas - May 2006
    Los métodos de los ejecutables administrados habitualmente se compilan mediante Just-In-Time (JIT). El código máquina generado por el compilador JIT es lanzado al salir del proceso que ejecuta dicho ejecutable.

  • Cutting Edge: Extending the GridView Control
    Dino Esposito - May 2006
    Welcome to my100th consecutive installment of Cutting Edge. I've been writing this column since January 1998 in Microsoft Internet Developer. Looking back over the past eight years, I realize that I've touched on almost every subject in the Windows® SDK and the Microsoft® .

  • Test Run: Stress Testing.
    Dr. James McCaffrey - May 2006
    Stress testing is a fundamental quality assurance activity that should be part of every significant software testing effort. The key idea behind stress testing is simple: instead of running manual or automated tests under normal conditions, you run your tests under conditions of reduced machine or system resources.

  • Extreme ASP.NET: Keeping secrets in ASP.NET 2.0.
    Rob Howard - May 2006
    Storing data securely in a configuration system is not an easy problem to solve. While I was on the ASP. NET team, this particular feature, secure connection string storage, looked as if it wouldn’t get done.

  • Security Briefs: Step-by-Step Guide to InfoCard
    Keith Brown - May 2006
    In my April 2006 column I began a discussion of InfoCard, the upcoming identity metasystem, which is being prepared for release in the Windows Vista™ timeframe. If you haven’t read that column, you should definitely start there because I’m going to assume you’re familiar with the basics I covered.

  • C++ At Work: Web Version Checking, Adding Sound to an App
    Paul DiLascia - May 2006
    This month: CWebVersion revisited using HTTP instead of FTP, and adding sounds to an MFC-based app.

  • Managed Spy: Deliver The Power Of Spy++ To Windows Forms With Our New Tool
    Benjamin Wulfe - April 2006
    Spy++ displays Win32 information such as window classes, styles, and messages. Now you can get that same functionality for managed code using our ManagedSpy. Get it here.

  • No More Hangs: Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps
    Joe Duffy - April 2006
    You can combat deadlock using a combination of disciplined locking practices which Joe Duffy aptly explains in this article.

  • Mutant Power: Create A Simple Mutation Testing System With The .NET Framework
    James McCaffrey - April 2006
    With mutation testing, the system under test is changed to create a faulty version called a mutant. Here James McCaffrey explains how to do this in .NET.

  • .NET Profiling: Write Profilers With Ease Using High-Level Wrapper Classes
    Joachim H. Fröhlich and Reinhard Wolfinger - April 2006
    Here Joachim H. Fröhlich and Reinhard Wolfinger show you how to get all the great functionality of the .NET Profiling API the easy way, with custom wrappers.

  • Advanced Basics: IntelliSense Code Snippets
    Lorenzo Minore - April 2006
    IntelliSense code snippets are one of the coolest new features in Visual Studio® 2005. Code snippets are highly customizable code fragments intended to accomplish simple to intermediate tasks quickly; they can be inserted into your code with just a few keystrokes.

  • CLR Inside Out: Extending System.Diagnostics
    Krzysztof Cwalina - April 2006
    The System. Diagnostics namespace in the Microsoft® . NET Framework contains powerful tracing capabilities. This includes the main tracing API: TraceSource. As you will see, the tracing APIs in System.

  • Cutting Edge: Windows Workflow Foundation, Part 2
    Dino Esposito - April 2006
    In last month's column, I presented a helpdesk workflow sample that focused on Windows® Forms client applications. This month I'll discuss ASP. NET workflow applications and the ability to expose a workflow as a Web service and invoke a Web service from a workflow.

  • Extreme ASP.NET: A New Solution to an Old State Storage Problem
    Fritz Onion - April 2006
    State management in Web applications is a contentious issue. Should you store user data per session or should you persist it across sessions? You can easily store information temporarily while someone navigates your site by using session state.

  • Service Station: Migrating to WSE 3.0
    Aaron Skonnard - April 2006
    You've probably heard that the new version of Web Services Enhancements (WSE) for the Microsoft® . NET Framework simplifies the process of building secure Web services. What you may not know is that most of these improvements derive from some core architectural changes made in WSE 3.

  • Security Briefs: A First Look at InfoCard
    Keith Brown - April 2006
    The Web can be annoying at times. I'm certain that I'm not alone in my frustration with filling out the same old forms on every Web site I visit. Like most other techies, I've acquired many tools over the years to help combat this repetition, and I even wrote my own password manager for my hundreds of different identities on the Web.

  • Pure C++: How Templates and Generics Work Together
    Stanley B. Lippman - April 2006
    I'm closing out this series of columns on generic programming in the Microsoft® . NET Framework by showing how templates and generics do and do not work together, and pointing out a pitfall with the current implementation of templates under Visual C++® 2005.

  • C++ At Work: Implement Triple-Click, Subclass the Main Window
    Paul DiLascia - April 2006


  • Winning Forms: Practical Tips For Boosting The Performance Of Windows Forms Apps
    Milena Salman - March 2006
    This article discusses techniques you can use to ensure that Windows Forms-based apps provide optimal performance to match the rich UI responsiveness they're known to provide.

  • Text Rendering: Build World-Ready Apps Using Complex Scripts In Windows Forms Controls
    Miguel A. Lacouture - March 2006
    The System.Windows.Forms.TextRenderer class provides support for complex scripts in Windows Forms controls so you can render text the way you want and support international locales.

  • Outlook Add-Ins: Improve Your Outlook With Visual Studio Tools For Office
    John R. Durant - March 2006
    Microsoft Visual Studio Tools for Office 2003 supported only Microsoft Word and Excel. The new version, however, has the tools you need to create managed code add-ins for Outlook 2003.

  • Agile Development: Extend Team Foundation Server To Enable Continuous Integration
    Ben Waldron - March 2006
    How does Visual Studio 2005 Team System and Team Foundation Server facilitate the process of agile development and continuous integration? Here Ben Waldron explains it all.

  • Reporting Services: Deliver SQL Server Reports To SharePoint To Enhance Team Collaboration
    Ed Hild - March 2006
    The solution covered here includes a custom SharePoint Web service that accepts SQL Server-generated report files and, through the WSS object model, stores the file in the appropriate library for enhanced collaboration possibilities.

  • The Perfect Host: Create And Host Custom Designers With The .NET Framework 2.0
    Dinesh Chandnani - March 2006
    The .NET Framework 2.0 introduces a set of classes that can be used to host designers right out of the box. With the understanding of designers you'll glean from this article, you'll be ready to host them in your own apps.

  • CLR Inside Out: Ensuring .NET Framework 2.0 Compatibility
    Jesse Kaplan - March 2006
    If we learned only one thing about compatibility in the past few years, it is that compatibility is much more than avoiding breaking changes. On the Microsoft®. NET Framework and Visual Studio® teams, we do our part to ensure that the products we build are stable platforms that developers can truly rely on.

  • Cutting Edge: Windows Workflow Foundation
    Dino Esposito - March 2006
    In the January 2006 issue, Don Box and Dharma Shukla introduced Windows® Workflow Foundation and discussed the overall architecture of the framework and its constituent components (see WinFX Workflow: Simplify Development With The Declarative Model Of Windows Workflow Foundation).

  • Test Run: Determining .NET Assembly and Method References
    James McCaffrey - March 2006
    Before you can test any software system effectively, you must understand the system under test. If the system includes the Microsoft® . NET Framework, understanding the system under test includes understanding its assembly and method dependencies.

  • Concurrent Affairs: Build a Richer Thread Synchronization Lock
    Jeffrey Richter - March 2006
    In my last column, I showed the various thread synchronization mechanisms employed by the Microsoft® . NET Framework (see Concurrent Affairs: Performance-Conscious Thread Synchronization). I then examined the performance characteristics of all these mechanisms and determined that the Interlocked methods performed the best because the calling thread never has to transition to kernel mode.

  • .NET Matters: Abortable Thread Pool
    Stephen Toub - March 2006


  • Distributed .NET: Learn The ABCs Of Programming Windows Communication Foundation
    Aaron Skonnard - February 2006
    Windows Communication Foundation unifies the existing suite of .NET distributed technologies into a single programming model to improve the developer experience. This article introduces WCF so you'll be prepared to take advantage of all the new capabilities.

  • UDP Delivers: Take Total Control Of Your Networking With .NET And UDP
    Yaniv Pessach - February 2006
    UDP, the lesser-known sibling of TCP, is used for DNS resolution, SNMP network status, Kerberos security, digital media streaming, VoIP, and lots more. Learn how to put UDP to work for you.

  • Wandering Code: Write Mobile Agents In .NET To Roam And Interact On Your Network
    Matt Neely - February 2006
    In artificial intelligence, an agent is a logical entity that has some level of autonomy within its environment or host. A mobile agent has the added capability that it can move between hosts. In this article Matt Neely brings mobile agents from the halls of academia to a dev shop near you.

  • WSE Security: Protect Your Web Services Through The Extensible Policy Framework In WSE 3.0
    Tomasz Janczuk - February 2006
    This article describes the WSE policy framework, which allows you to describe constraints and requirements a Web service must enforce. Discussions include security scenarios in WSE 3.0 and extending the framework with custom constraints and requirements.

  • Smart Clients: Build A Windows Forms Control To Consume And Render WSRP Portlets
    Carl Nolan - February 2006
    Smart client apps use local resources, provide a rich client experience, and support intelligent install mechanisms. Web services offer powerful interoperability and integration features. Find out how to combine them to develop integrated apps that incorporate data from disconnected sources.

  • Paste As Visual Basic: A Visual Studio Add-In That Converts C# Code To Visual Basic
    Scott Swigart - February 2006
    Build a Visual Basic add-in that lets you copy C# code and paste it into Visual Studio as Visual Basic using the code converter of your choice. Scott Swigart shows you how.

  • Basic Instincts: Introducing ASP.NET Web Part Connections
    Ted Pattison - February 2006
    When you begin to work with the Microsoft® . NET Framework 2. 0 and ASP. NET, you discover that the new Web Parts infrastructure adds some very powerful functionality to the underlying platform. In the September 2005 issue of MSDN®Magazine, Fritz Onion and I have an article on programming Web Parts titled "ASP.

  • CLR Inside Out: Improving Application Startup Time
    Claudio Caldato - February 2006
    Visual Studio is a wonderful development environment, whose IntelliSense®, integrated debugging, online help, and code snippets help boost your performance as a developer. But just because you're writing code fast doesn't mean you're writing fast code.

  • Cutting Edge: Build Providers for Windows Forms
    Dino Esposito - February 2006
    In ASP. NET and Windows Forms projects, some file types are treated differently than others. For example, ASPX and ASCX files are dynamically parsed and compiled to an assembly on the fly. The contents of an XML Schema Definition (XSD) file are used to create a new, strongly typed DataSet-based object at design time.

  • Wicked Code: The SQL Site Map Provider You've Been Waiting For
    Jeff Prosise - February 2006
    Now that ASP.NET 2.0 is a shipping product, it seems appropriate to revisit an issue that tops the new features wish lists of many developers: a SQL Server™ site map provider.

  • WinFX Workflow: Simplify Development With The Declarative Model Of Windows Workflow Foundation
    Don Box and Dharma Shukla - January 2006
    Windows Workflow Foundation allows you to write workflow-based programs in terms of domain-specific activities that are implemented in CLR-based programming languages such as C# and Visual Basic. Here Don Box and Dharma Shukla get you started.

  • Dazzling Graphics: Top Ten UI Development Breakthroughs In Windows Presentation Foundation
    Ian Griffiths and Chris Sells - January 2006
    The Windows Presentation Foundation provides new techniques for UI-based developing applications and makes better use of current hardware and technologies. In this article, Ian Griffiths and Chris Sells explain 10 of the most significant advances that make WPF superior to its Win32 predecessors.

  • Talking Windows: Exploring New Speech Recognition And Synthesis APIs In Windows Vista
    Robert Brown - January 2006
    Windows Vista includes a built-in speech recognition engine exposed through a number of new APIs that will let your users interact with your app using speech rather than a keyboard or mouse. Here Robert Brown explains speech recognition and introduces you to the APIs to use in your upcoming Windows Vista applications.

  • XPS Documents: A First Look at APIs For Creating XML Paper Specification Documents
    Bob Watson - January 2006
    Windows Vista includes improved document technology called the XML Paper Specification that is designed to provide users with a consistent document appearance regardless of where and how the document is viewed, solving the age-old problem of document portability and display consistency. Here Bob Watson explains.

  • Visual Studio 2005: Create Reusable Project And Item Templates For Your Development Team
    Matt Milner - January 2006
    Visual Studio 2005 introduces a new model that lets you define your own project templates and starter kits, something developers have been requesting for some time. Here Matt Milner shows you how to consume, create, and customize these templates.

  • Dev Q&A: DataGridView
    Edited by Nancy Michell - January 2006
    After receiving a late-breaking news bulletin at magazine headquarters early this month stating that the Web is just a fad that will never amount to anything, we have reluctantly decided to retire our venerable Web Q&A column and replace it with one we like to call Dev Q&A.

  • CLR al descubierto: Consejos y trucos para el rendimiento de la biblioteca de clases base
    Kit George - January 2006
    Common Language Runtime (CLR) se sitúa en el centro del código administrado. De hecho, es el corazón del código administrado; por eso, para entender el código administrado necesita entender el CLR.

  • Data Points: SqlConnectionStringBuilder, DataView, and More
    John Papa - January 2006
    Several significant enhancements have been made to ADO. NET 2. 0 in the areas of improved performance, increased flexibility, and added features. In my last column (Data Points: DataSet and DataTable in ADO.

  • Conceptos básicos avanzados: El placer de la música
    Brad McCabe - January 2006
    Digamos que le apetece mucho acompañar la pantalla de inicio de su aplicación con el fabuloso estribillo de "Funky Cold Medina" (un tema de Tone Loc, para los que no nacieron en los años 80). Antes de Visual Studio® 2005, agregar simples melodías o sonidos de sistema a una aplicación era todo un desafío.

  • Cutting Edge: Custom Data Control Fields
    Dino Esposito - January 2006
    In ASP. NET 2. 0, the GridView and DetailsView controls are designed to work together. They don't merely provide complementary services, they also share a number of helper classes and components. The output of the GridView control consists of a sequence of rows, each with a fixed number of columns.

  • Service Station: All About ASMX 2.0, WSE 3.0, and WCF
    Aaron Skonnard - January 2006
    The release of the Microsoft® . NET Framework 2. 0 reshapes the Web services landscape in several interesting, and perhaps confusing, ways. So this month I'm going to field some of the most common questions related to ASP.

  • Extreme ASP.NET: Codebehind and Compilation in ASP.NET 2.0
    Fritz Onion - January 2006
    As I write this column, the release candidates of the Microsoft® .NET Framework 2.0 and Visual Studio® 2005 have just come out, and by the time you read this, they will both already be on the shelves. It feels like it's been a long time coming.

  • Security Briefs: Encrypting Without Secrets
    Keith Brown - January 2006
    Do you have a Web site or other system that deals in secrets of any sort? It seems like every time I give a security talk, people ask how to deal with the sticky problem of storing secrets. Connection strings with passwords are an obvious problem.

  • .NET Matters: Iterating NTFS Streams
    Stephen Toub - January 2006


  • C++ At Work: Installing a Hook, Strings in Managed C++, and More
    Paul DiLascia - January 2006


  • Visual Basic: Navigate The .NET Framework And Your Projects With The My Namespace
    Duncan Mackenzie - Visual Studio 2005 Guided Tour 2006
    The My Namespace is best described as a speed-dial for the .NET Framework. It provides an intuitive navigation hierarchy that exposes existing .NET functionality through easily understood root objects. Here Duncan Mackenzie explains it all.

  • Pure C++: Hello, C++/CLI
    Stanley B. Lippman - Visual Studio 2005 Guided Tour 2006
    C++/CLI is a self-contained, component-based dynamic programming language that, like C# or Java, is derived from C++. In fact, you can look at it as a natural step in the evolution of C. Stanley Lippman, who was there from the beginning, provides some insight.

  • C#: Creación de código con métodos anónimos, elementos de iteración y clases parciales
    Juval Lowy - Visual Studio 2005 Guided Tour 2006
    En este artículo, Juval Lowy describe las ventajas de las nuevas características de Visual Studio 2005, con las que se puede mejorar significativamente la productividad general en comparación con la primera versión de C# y escribir código con mayor claridad y rapidez.

  • .NET: Introducing Generics in the CLR
    Jason Clark - Visual Studio 2005 Guided Tour 2006
    Generics are an extension of the CLR type system that allow developers to define types for which certain details are left unspecified. These details are specified when the code is referenced by consumer code, making for enhanced flexibility. Jason Clark explains how.

  • Smart Clients: Craft A Rich UI For Your .NET App With Enhanced Windows Forms Support
    Chris Sells and Michael Weinhardt - Visual Studio 2005 Guided Tour 2006
    The System.Windows.Forms namespace has increased by approximately 134 percent over the .NET Framework 1.1. There are 446 new public types; 113 existing types have been updated with new members and values; 218 types have been carried over from the original namespace. Read about it here.

  • Web Apps: An Overview Of The New Services, Controls, And Features In ASP.NET 2.0
    Jeff Prosise - Visual Studio 2005 Guided Tour 2006
    ASP.NET 2.0 aims to reduce the amount of code required to accomplish common Web programming tasks by 70 percent or more. New services, controls, and features make it almost as dramatic an improvement to ASP.NET 1.x as that was to ASP Classic. Here Jeff Prosise explores the new features.

  • Apuntes sobre seguridad: Mejoras de la seguridad en .NET Framework 2.0
    Keith Brown - Visual Studio 2005 Guided Tour 2006
    .NET Framework 2.0 presentó algunas mejoras de la seguridad. Este mes, Keith mostrará todo lo bueno que encontrará en él.

  • Team Up: Get All Your Devs In A Row With Visual Studio 2005 Team System
    Chris Menegay - Visual Studio 2005 Guided Tour 2006
    In this article, Chris Menegay shows you how to use Team System throughout your software development lifecycle. He covers both the client tools available with Visual Studio Team Suite and the server features enabled by Team Foundation Server.

  • Editor's Note: Visual Studio 2005 Guided Tour
    - Visual Studio 2005 Guided Tour 2006
    2005 was a truly exciting year for us here at MSDN Magazine. We launched a new magazine. We covered all sorts of amazing advances for the programmer, courtesy of Visual Studio 2005. We lost a couple of weeks, because of that dodgy falafel cart on 49th Street.

  • Power to the Pen: The Pen is Mightier with GDI+ and the Tablet PC Real-Time Stylus
    Charles Petzold - December 2005


  • Can't Commit?: Volatile Resource Managers in .NET Bring Transactions to the Common Type
    Juval Lowy - December 2005
    Here Juval Lowy discusses the benefits you'll get when you implement transactions in your non-database applications, with a little help from volatile resource managers in the .NET Framework 2.0.

  • UI on the Fly: Use the .NET Framework to Generate and Execute Custom Controls at Run Time
    Morgan Skinner - December 2005
    Creating UI controls on the fly can be accomplished via run-time code generation. And there are lots of reasons to do so. Generating these controls once and then reusing them as needed is more efficient than generating the controls each time. Read on.

  • Got Directory Services?: New Ways to Manage Active Directory using the .NET Framework 2.0
    Ethan Wilansky - December 2005
    System.DirectoryServices is a managed code layer on top of Active Directory Service Interfaces, and you can employ it to better manage Active Directory from your code. Here Ethan Wilansky helps you get started.

  • Advanced Basics: What's My IP Address?
    Ken Getz - December 2005
    If you're like me, you regularly do tech-support for family, friends, and neighbors. You can't go to a party without hearing the familiar refrain: "I've just got a quick question. " It's always something—their Internet connections get dropped, they've got a virus, they can't install some piece of hardware, or some file has gone missing.

  • Cutting Edge: Flexible Custom Data Views
    Dino Esposito - December 2005
    ASP. NET 1. x introduced some powerful and useful data-bound controls. However, none were designed specifically to manage the view of a single record. When you build master/detail views, you need to display the contents of a single record.

  • .NET Matters: BigInteger, GetFiles, and More
    Stephen Toub - December 2005


  • Pure C++: Reflecting on Generic Types
    Stanley B. Lippman - December 2005
    A funny thing happened to templates on their way to the common language runtime (CLR)—they lost their {type} identity. This is analogous to what happens with macros under native programs. Just as the C/C++ compilers have no awareness of macro preprocessor expansions, the CLR has no awareness of template instantiations.

  • Are You in the Know?: Find Out What's New with Code Access Security in the .NET Framework 2.0
    Mike Downen - November 2005
    Unlike role-based security measures, code access security is not based on user identity. Instead, it is based on the identity of the code that is running, including information such as where the code came from. Here Mike Downen discusses the role of code access security (CAS) in .NET and outlines some key new features and changes in CAS for the .NET Framework 2.0.

  • Do You Trust It?: Discover Techniques for Safely Hosting Untrusted Add-Ins with the .NET Framework 2.0
    Shawn Farkas - November 2005
    When you allow your application to run arbitrary code through an add-in, you may expose users to unknown code, running the risk that malicious code will use your application as an entry point into the user's data. There are several techniques you can use to reduce the attack surface of your application, which Shawn Farkas discusses here.

  • Are You Protected?: Design and Deploy Secure Web Apps with ASP.NET 2.0 and IIS 6.0
    Mike Volodarsky - November 2005
    Ensuring the security of a Web application is critical and requires careful planning throughout the design, development, deployment, and operation phases. It is not something that can be slapped onto an existing application. In this article, Mike Volodarsky outlines best practices that allow you to take advantage of the security features of ASP.NET 2.0 and IIS 6.0 to build and deploy more secure Web applications.

  • Who Goes There?: Upgrade Your Site's Authentication with the New ASP.NET 2.0 Membership API
    Dino Esposito and Andrea Saltarello - November 2005
    Here Dino Esposito and Andrea Saltarello cover the plumbing of the Membership API and its inherently extensible nature, based on pluggable providers. To demonstrate the features, they take an existing ASP.NET 1.x authentication mechanism and port it to ASP.NET 2.0, exposing the legacy authentication mechanism through the new Membership API.

  • What Gives You the Right?: Combine the Powers of AzMan and WSE 3.0 to Protect Your Web Services
    Niels Flensted-Jensen - November 2005
    In this article, Niels Flensted-Jensen demonstrates how you can combine new and existing Microsoft technologies with minimal new code to provide flexible authorization for individual Web service methods. Windows 2003 Authorization Manager, Web Service Enhancements 3.0, and Enterprise Library all play a part.

  • Web Q&A: ASP.NET Session State, Validation, DataGrids, and More
    Edited by Nancy Michell - November 2005


  • Data Points: DataSet and DataTable in ADO.NET 2.0
    John Papa - November 2005
    ADO. NET 2. 0 sports some exciting enhancements to the core classes found in ADO. NET 1. x and introduces a variety of new classes, all of which promise to improve performance, flexibility, and efficiency.

  • Basic Instincts: Programming I/O with Streams in Visual Basic .NET
    Ted Pattison - November 2005
    If you are just now migrating from Visual Basic® 6. 0 to Visual Basic . NET, be prepared for a change, because the way you program file I/O is very different. The good news is that an idiosyncratic, proprietary approach has been replaced by an elegant and reusable one that has become an industry standard.

  • Cutting Edge: A Quick Tour of Themes in ASP.NET 2.0
    Dino Esposito - November 2005
    It's much easier to build a rich user interface into your Web application in ASP. NET 2. 0 than it was in previous versions. Master Pages let you build pages based on existing templates of markup and code.

  • Bugslayer: SUPERASSERT Goes .NET
    John Robbins - November 2005
    Those of you who have been reading this old Bugslayer column over the last nine years have branded into your frontal lobe a single word: ASSERT! Anytime you can have the code tell you about a problem instead of having to find it by slaving away with a debugger is a huge timesaver.

  • Security Briefs: Security Features in WSE 3.0
    Keith Brown - November 2005
    I've been spending a lot of time lately building secure Web services with the Microsoft® . NET Framework 2. 0, and Web Services Enhancements (WSE) 3. 0 has been a lifesaver for me, so I thought it would be appropriate to dedicate a column to security features in this new product.

  • C++ at Work: Disabling Print Screen, Calling Derived Destructors, and More
    Paul DiLascia - November 2005


  • { End Bracket }: Phoenix Rising
    Guy Eddon - November 2005
    Phoenix is neither a compiler nor a JITer, but will eventually transform both. It is the codename for an internal Microsoft project that provides an extensible framework for the analysis, optimization, and modification of code during compilation.

  • Memory Models: Understand the Impact of Low-Lock Techniques in Multithreaded Apps
    Vance Morrison - October 2005
    Because the use of low-lock techniques in your application significantly increases the likelihood of introducing hard-to-find bugs, it is best to use them only when absolutely necessary. Here Vance Morrison demonstrates the limitations and subtleties low-lock techniques so that if you are forced to use them you have a better chance of using them correctly.

  • Alta disponibilidad: Consiga que su código siga funcionando gracias a las características de confiabilidad de .NET Framework
    Stephen Toub - October 2005
    La confiabilidad requiere la capacidad de ejecutar una secuencia de operaciones de una manera determinada, incluso en condiciones excepcionales. Esto le permite asegurar que no se producirán pérdidas en los recursos y que puede mantener la coherencia entre estados sin depender de la descarga del dominio de la aplicación (o aún peor, de los reinicios del proceso) para reparar cualquier estado dañado. Desgraciadamente, en .NET Framework, no todas las excepciones son deterministas y sincrónicas, lo que dificulta escribir código que sea siempre determinista en su capacidad de ejecutar una secuencia predeterminada de operaciones. En este artículo, Stephen Toub explica el porqué de todo ello y muestra características de .NET Framework 2.0 que ayudan a solucionar estas situaciones y a escribir código más confiable.

  • CUSTOM CULTURES: Extend Your Code's Global Reach With New Features In The .NET Framework 2.0
    Michael Kaplan and Cathy Wissink - October 2005
    The upcoming Microsoft .NET Framework 2.0 adds a number of globalization features that address the important issues of extensibility, standards support, and migration. Here authors Michael Kaplan and Cathy Wissink explain what these features mean to your globalization effort.

  • STAY ALERT: Use Managed Code To Generate A Secure Audit Trail
    Mark Novak - October 2005
    In today's security-conscious environments, a reliable audit trail is a valuable forensic tool The Windows Server 2003 operating system provides features that let you enable a wide range of applications to make use of auditing functionality. This article looks at auditing from the operating system perspective and describes a sample managed code implementation that will allow you to add auditing to your own server applications.

  • Advanced Basics: A Match-Making Game in Visual Basic
    Duncan Mackenzie - October 2005
    My four-year-old son has decided that he wants to be like his dad when he grows up. He is planning to work in my office, and write computer programs just like I do. But there is one problem—he thinks I write games.

  • Data Points: The Enterprise Library Data Access Application Block, Part 3
    John Papa - October 2005
    E nterprise applications can have a wide variety of data update requirements. Sometimes you need to save multiple rows of changes at once within a single transaction. Other times, the user must be allowed to enter multiple rows of data, send them to the database in a batch; and if a row or two fails, only the rows that succeeded should be committed and remain committed.

  • Extreme ASP.NET: Page Navigation
    Rob Howard - October 2005
    In my childhood I spent several weeks a year in Holland with my extended family. As a young American boy I was fascinated with the electric Dutch trains, something we didn't see in my hometown of Dallas, Texas.

  • Test Run: Low-Level Web App UI Test Automation
    James McCaffrey - October 2005
    As Web applications have become more complex, testing them has become more important. There are many testing techniques available to you. For example, in the April 2005 issue of MSDN®Magazine, I describe a simple JScript®-based system that can test a Web app through its UI by using the Internet Explorer Document Object Model.

  • Cutting Edge: Personalization and User Profiles in ASP.NET 2.0
    Dino Esposito - October 2005
    Personalization is growing to be more and more of an essential ingredient in many types of Web apps, including portals and shopping sites. Without it, it's quite difficult to serve your customers efficiently.

  • Código malvado: Páginas asincrónicas en ASP.NET 2.0
    Jeff Prosise - October 2005
    ASP. NET 2. 0 está repleto de nuevas características que van desde enlace de datos declarativos y páginas principales hasta pertenencia y servicios de administración de funciones. Pero entre las nuevas características, para nosotros la más interesante es la de páginas asincrónicas.

  • Concurrent Affairs: Performance-Conscious Thread Synchronization
    Jeffrey Richter - October 2005
    In my career, I have architected and implemented many thread synchronization techniques. This has provided me with a lot of experience that has shaped the way I now think about thread synchronization problems.

  • .NET Matters: NamedGZipStream, Covariance and Contravariance
    Stephen Toub - October 2005


  • Pure C++: Invoking Generic or Function Templates
    Stanley B. Lippman - October 2005
    As I promised last time, in this month's column I'll walk through the process of defining and invoking a generic or template function under C++\CLI. A function template or a generic function begins with the template or generic keyword followed by its parameter list.

  • C++ at Work: Writing, Loading, and Accessing Plug-Ins
    Paul DiLascia - October 2005


  • Best Practices: Fast, Scalable, and Secure Session State Management for Your Web Applications
    Mike Volodarsky - September 2005
    ASP.NET provides a number of ways to maintain user state, the most powerful of which is session state. This article takes an in-depth look at designing and deploying high-performance, scalable, secure session solutions, and presents best practices for both existing and new ASP.NET session state features straight from the ASP.NET feature team.

  • ASP.NET 2.0: Personalize Your Portal with User Controls and Custom Web Parts
    Ted Pattison and Fritz Onion - September 2005
    ASP.NET 2.0 introduces a Web Part control that is designed to deal with the serialization, storage, and retrieval of customization and personalization data behind the scenes. In this article, the authors explain how you can put the WebPart control to work in your ASP.NET 2.0 applications.

  • Call MOM: Instrument and Monitor Your ASP.NET Apps Using WMI and MOM 2005
    Michael Jurek - September 2005
    The current version of Windows Management Instrumentation (WMI) satisfies many current and future manageability requirements. In this article Michael Jurek demonstrates how WMI provides important system management capabilities and develops a WMI-aware monitoring solution you can use to instrument your ASP.NET applications. He then introduces the capabilities of MOM 2005 that allow you to monitor these instrumented applications.

  • Spice It Up: Sprinkle Some Pizzazz on Your Plain Vanilla Windows Forms Apps
    Bill Wagner - September 2005
    With the .NET Framework and GDI+, you can easily add elements of style to your applications. You can use transparency, irregularly shaped windows, notification icons, toast pop-ups, different color schemes, and lots more. Designed well, these techniques can create much more compelling interactions between your application and your users. This article explains how.

  • Web Q&A: Smart Navigation, ASP.NET Project Structure, and More
    Edited by Nancy Michell - September 2005


  • Cutting Edge: ASP.NET Forms
    Dino Esposito - September 2005
    Forms are an essential piece of ASP. NET—the ASP. NET Web programming model itself wouldn't be possible without forms. The use of forms is not constrained in pure HTML, but it is subject to some restrictions in ASP.

  • Advanced Basics: Revisiting Operator Overloading
    Ken Getz - September 2005
    On the conference circuit recently, I was speaking about some of my favorite new features in the Microsoft® . NET Framework 2. 0, using the content of three recent columns in this series as fodder. In my talk I sped through generics, operator overloading, and the BackgroundWorker component, all in the space of an hour (for the columns, see Advanced Basics: Being Generic Ain't So Bad, Advanced Basics: Calling All Operators, and Advanced Basics: Doing Async the Easy Way).

  • Test Run: Low-Level UI Test Automation
    James McCaffrey - September 2005
    There are several ways to test a Windows®-based application through its user interface. For example, in the January 2005 issue of MSDN®Magazine (Test Run: Lightweight UI Test Automation with . NET) I described a lightweight technique for testing .

  • Design Patterns: Dependency Injection
    Griffin Caprio - September 2005
    Today there is a greater focus than ever on reusing existing components and wiring together disparate components to form a cohesive architecture. But this wiring can quickly become a daunting task because as application size and complexity increase, so do dependencies.

  • Resúmenes de seguridad: Credenciales y delegación
    Keith Brown - September 2005
    Recibo muchas preguntas acerca de seguridad por parte de amigos y antiguos alumnos. Últimamente, me han llegado algunas sobre la creación de sitios web controlados por datos seguros para sistemas internos de empresas.

  • .NET Matters: Stream Decorator, Single-Instance Apps
    Stephen Toub - September 2005


  • C++ At Work: Copy Constructors, Assignment Operators, and More
    Paul DiLascia - September 2005


  • Simultaneidad: Lo que todo programador debería saber acerca de las aplicaciones multiproceso
    Vance Morrison - August 2005
    El multiproceso ofrece muchas ventajas, pero no es una técnica que se pueda utilizar de cualquier manera sin aprender primero todas las posibles desventajas. Como iniciación, Vance Morrison explica el multiproceso y el modelo de subprocesamiento de memoria compartida, las condiciones de anticipación y cómo el acceso simultáneo puede romper las condiciones invariables. También explica cómo usar los bloqueos para poder comprender sus consecuencias.

  • Proxy Detection: Take the Burden Off Users with Automatic Configuration in .NET
    Durgaprasad Gorti - August 2005
    Proxy settings can be a real pain in the neck and very frustrating for users to configure properly. In this article, Durgaprasad Gorti discusses how you can use automatic proxy configuration via script and how it works in the Microsoft .NET Framework 1.1 and 2.0.

  • Data Binding: Give Your Everyday Custom Collections a Design-Time Makeover
    Paul Ballard - August 2005
    In this article, Paul Ballard shows how you can provide data binding support for your custom collections to enable sorting, searching, and editing in as simple a manner as possible. In addition, he shows how to make all of these features available in the Windows and Web Forms Designers, just like an ADO.NET DataSet.

  • Winsock: Get Closer to the Wire with High-Performance Sockets in .NET
    Daryn Kiely - August 2005
    The Win32 Windows Sockets library (Winsock) provides mechanisms to improve the performance of programs that use sockets, and the Microsoft .NET Framework provides a layer over Winsock so that managed applications can communicate over sockets. To use all these layers to write a truly high-performance socket-based application requires a little background information, as Daryn Kiely explains here.

  • Easy UI Testing: Isolate Your UI Code Before It Invades Your Business Layer
    Mark Seemann - August 2005
    The User Interface Process Application Block (UIP) from the Microsoft Patterns & Practices team can help you isolate your UI, write unit tests for your UI logic, and write a UI that really is the thin layer it was always meant to be. Mark Seemann shows you how it's done in this article.

  • Basic Instincts: Reflection in Visual Basic .NET
    Ted Pattison - August 2005
    In the May 2005 Basic Instincts column I wrote about the Microsoft® . NET Framework support for custom attributes and attribute-based programming (see Basic Instincts: Designing With Custom Attributes).

  • Data Points: The Enterprise Library Data Access Application Block, Part 2
    John Papa - August 2005
    Last month I explored the foundation of the Enterprise Library Data Access Application Block (DAAB) including how it all fits into an architecture (see Data Points: The Enterprise Library Data Access Application Block, Part 1).

  • Cutting Edge: DataSets vs. Collections
    Dino Esposito - August 2005
    In software, five years is like a geological era. Five years ago, the Microsoft® . NET Framework had just been announced. Since then, the DataSet has emerged as the key object for performing a variety of data-related tasks in .

  • Test Run: Test Harness Design Patterns
    James McCaffrey and James Newkirk - August 2005
    The Microsoft® . NET Framework provides you with many ways to write software test automation. But in conversations with my colleagues I discovered that most engineers tend to use only one or two of the many fundamental test harness design patterns available to them.

  • Service Station: The Application Connection Designer
    Aaron Skonnard - August 2005
    In some of my past columns on service orientation and contract-first development, I've mentioned the new suite of designers, formerly codenamed "Whitehorse," that are part of Visual Studio® Team edition for Software Architects Team System.

  • Pure C++: Generic Programming: Template Specialization
    Stanley B. Lippman - August 2005
    As I discussed in my last column, a param-eterized type that does more than simple storage and retrieval is constrained as to the acceptable types that may be safely bound to it (see Pure C++: CLR Generics Versus C++ Templates.

  • XML Comments: Document Your Code in No Time At All with Macros in Visual Studio
    Tony Chow - July 2005
    Starting in Visual Studio 2005, XML documentation support will become available in Visual Basic and C++ as it has been for C#. However, making full use of the many comment tags will take a little extra work In this article, the author shows how Visual Studio macros can be used to automate the creation of XML documentation and creates macros that write large sections of comments with just a keystroke.

  • Smart Tags: Simplify UI Development with Custom Designer Actions in Visual Studio
    Michael Weinhardt - July 2005
    Windows Forms 2.0 components expose smart tags by utilizing Designer Actions. By taking advantage of this feature, you can add smart tags to your own custom components to make setting their properties and other actions much easier and developer-friendly.

  • Reflection: Dodge Common Performance Pitfalls to Craft Speedy Applications
    Joel Pobar - July 2005
    With reflection in .NET, you can load types, understand their members, make decisions about them, and execute, all within the safety of the managed runtime. But to use this power wisely, it's important to understand the associated costs and pitfalls to keep performance impact at a minimum. This article explains how.

  • Visual Basic: Simplify Common Tasks by Customizing the My Namespace
    Joe Binder - July 2005
    Underlying the My namespace's APIs is a fully extensible architecture you can leverage to customize the behavior of My and to add new services to its hierarchy to adapt to specific application needs. the My namespace is optimized to provide simple solutions to common problems. But if your requirements are different, you can use the My namespace's customization model to modify the behavior of individual My namespace members to meet specific application requirements.

  • Behind the Scenes: Discover the Design Patterns You're Already Using in the .NET Framework
    Rob Pierry - July 2005
    In this article, the author presents a basic overview of several common design patterns and how they are used in the .NET Base Class Library and other areas of the .NET Framework. You'll discover some of the motivation for why the Framework is designed the way it is, and come away with a better understanding of the abstract concepts of the patterns themselves.

  • Debugging: Root Out Elusive Production Bugs with These Effective Techniques
    Matt Adamson - July 2005
    Errors happen. But in production, error logs often provide little or no help in pinpointing the exact line of code in which the problem originates. You can't usually isolate the root cause by modifying code in a production environment because recreating the exact same environment is very difficult due to the large number of potential software and hardware configurations. This article provides some concrete steps you can take to get at the heart of the problems in your production code.

  • Advanced Basics: Creating A Breadcrumb Control
    Duncan Mackenzie - July 2005
    Hansel and Gretel had the right idea when "they followed the pebbles that glistened there like newly minted coins, showing them the way. " The deeper you get into the forest or into your data, the more likely you are going to need help to find your way back out again.

  • Cutting Edge: DHTML-Enabled ASP.NET Controls
    Dino Esposito - July 2005
    In the past, I've covered some core aspects of the interaction between DHTML behaviors, the browser, and ASP. NET runtime (see Cutting Edge: Extend the ASP. NET DataGrid with Client-side Behaviors and Cutting Edge: Moving DataGrid Rows Up and Down).

  • Data Points: The Enterprise Library Data Access Application Block, Part 1
    John Papa - July 2005
    A solid data access later (DAL) can benefit an application by hiding redundant tasks, helping handle exceptions more gracefully, helping clean up resources more efficiently, and providing a layer of abstraction from the database.

  • Bugslayer: Unhandled Exceptions and Tracing in the .NET Framework 2.0
    John Robbins - July 2005
    By now, you've certainly heard about the big changes coming in Visual Studio® 2005, but when it's time to move your code over it will be the small things that trip you up. In this column, I want to cover two of the many excellent changes that you could easily overlook as you make the move to the new runtime and development tools.

  • .NET Matters: StringStream, Methods with Timeouts
    Stephen Toub - July 2005


  • C++ At Work: Enum Declarations, Template Function Specialization
    Paul DiLascia - July 2005


  • { End Bracket }: Experimenting with F#
    Don Syme - July 2005
    After five years of guiding generics for the Microsoft® . NET Framework into Visual Studio® 2005, I've turned my attention to attempting to achieve a synthesis between type-safe, scalable, math-oriented scripting and programming for .

  • Know Thy Code: Simplify Data Layer Unit Testing using Enterprise Services
    Roy Osherove - June 2005
    If you want to employ unit testing and test-driven development techniques in your database application development process, you'll have different factors to consider than you do when you're not involving a database. For example, you have to maintain a consistent state within the database and be able to roll back transactions when necessary. This article shows you how to get the best of unit testing for your database apps in a safe, usable manner.

  • Mine Your Business: AMO Lets You Dig Deeper into Your Data from Your Own Applications
    Liu Tang and Paul Bradley - June 2005
    Analysis Management Objects (AMO) for SQL Server 2005 facilitates client-side custom programming as Decision Support Objects (DSO), the object model in SQL Server 2000 Analysis Services. With AMO, a whole range of data mining questions can be answered at the operational level. This means that sales and marketing departments get answers more quickly and thus can make informed decisions.

  • Make It Snappy: Juice Up Your App with the Power of Hyper-Threading
    Yaniv Pessach - June 2005
    In this article, the author explores the hyper-threading technology found on newer Intel Pentium 4 processors and demonstrates how adding parallelism to your code can improve performance on hyper-threaded machines. He covers advanced optimizations for hyper-threading and shows a number of useful patterns. Code samples are in C#, but you can apply the same principles in other languages as they apply to both managed and unmanaged applications.

  • Get A Raise: Discover a Series of Fortunate Event Handlers in Visual Basic
    Ken Getz - June 2005
    You may use them every day, but how much do you really know about events? What's going on when you add an event handler to a class? In this article, Ken Getz demonstrates various ways to interact with events and event handlers, and shows how they can solve common problems. Along with the article, you can download two sample applications (one for Visual Basic .NET 2002 and 2003 and one for Visual Basic 2005) and follow along.

  • Web Q&A: Locking Pop-Up Blocker, Mixed Authentication, and More
    Edited by Nancy Michell - June 2005


  • Cutting Edge: Data Repeater Controls in ASP.NET
    Dino Esposito - June 2005
    The ASP. NET Repeater is a basic container control that allows you to create custom lists from any data available to the page. It's a handy control, especially since most ASP. NET pages that display data need to repeat the same kinds of data over and over.

  • Data Points: XML Features in SQL Server 2000
    John Papa - June 2005
    SQL Server™ 2000 includes several XML features that let you transform relational rowsets into hierarchical XML documents, read XML documents, and bulk load data via XML. For example, you can pass an XML document to a stored procedure, join the XML to some tables and return a rowset, or even modify data in the database.

  • Service Station: Techniques for Contract-First Development
    Aaron Skonnard - June 2005
    In my May 2005 column, I discussed contract-first development and appropriate times to use it (see Service Station: Contract-First Service Development). In this second part, I'm going to focus on some techniques for contract-first development within the ASMX framework.

  • Wicked Code: Power Programming Tips for ASP.NET 2.0
    Jeff Prosise - June 2005
    In the February 2005 issue, I introduced five lesser-known features of ASP. NET 2. 0 that have the potential to make a significant impact on the security, performance, and robustness of your code (see Wicked Code: Five Undiscovered Features on ASP.

  • Pure C++: CLR Generics Versus C++ Templates
    Stanley B. Lippman - June 2005
    Visual Studio® 2005 brings the type parameter model of generic programming to the Microsoft® . NET Framework. C++/CLI supports two type parameter mechanisms—common language runtime (CLR) generics and C++ templates.

  • JIT and Run: Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects
    Hanu Kommalapati and Tom Christian - May 2005
    There's lots to explore in the .NET Framework 2.0, and plenty of digging to be done. If you want to get your hands dirty and learn some of the internals that will carry you through the next few years, you've come to the right place. This article explores CLR internals, including object instance layout, method table layout, method dispatching, interface-based dispatching, and various data structures.

  • Around the Horn: Engineer a Distributed System Using .NET Remoting for Process Intensive Analysis
    Nate D'Anna - May 2005
    Before the Microsoft .NET Framework, creating a distributed cluster of computers to perform scientific analysis was expensive in terms of hardware, programming and debugging time, and maintenance. You had to purchase expensive servers, spend time debugging network communication, design a distributed system completely different from a system deployed locally, and maintain a melting pot of error handling, data acquisition, networking, and analysis code. In this article, the author shows you how he was able to engineer a distributed computing system in C# to perform analysis of real-world data continuously acquired at high sampling rates, thanks to the .NET Framework.

  • Draft a Rich UI: Ground Rules for Building Enhanced Windows Forms Support into Your .NET App
    Michael Weinhardt and Chris Sells - May 2005
    In this article, the winning Windows Forms duo of Chris Sells and Michael Weinhardt team up again to explore lots of new features and additions to Windows Forms 2.0 that will let you build more flexible, feature-rich controls, get better resource management, more powerful data-binding abilities, and make your development life a whole lot more fun.

  • Touch All the Bases: Give Your .NET App Brains and Brawn with the Intelligence of Neural Networks
    Christopher M. Frenz - May 2005
    Pattern recognition is an increasingly complex field. Every day technologies like handwriting recognition, spam filters, and search engines must identify ever more complicated patterns. One way these complex relationships can be represented is through the use of neural networks. Find out what neural networks can do for your pattern recognition and prediction tasks.

  • Web Q&A: ASP.NET Performance, Notification, Keeping Sort Order, and More
    Edited by Nancy Michell - May 2005


  • Data Points: Data Access Strategies Using ADO.NET and SQL
    John Papa - May 2005
    When your goal is a scalable and efficient enterprise solution, you need to develop an efficient data-access strategy. You can't just do some testing on your production machines and rely on the results.

  • Service Station: Contract-First Service Development
    Aaron Skonnard - May 2005
    In one of my previous columns on Service Orientation (SO), I introduced the concept of "contract-first" service development (see Service Station: SOA: More Integration, Less Renovation). Over the next two installments of this column, I'm going to cover the topic in depth.

  • Extreme ASP.NET: A Little Bit of Control for Your Controls
    Rob Howard - May 2005
    Having worked for so many years designing and developing ASP. NET while at Microsoft, it's exciting now to have a venue in which to talk about it. In this new column, Extreme ASP. NET, I'll discuss and demonstrate time-tested techniques and approaches to implementing high-performance, reliable, secure, and user-friendly Web applications with ASP.

  • Basic Instincts: Designing With Custom Attributes
    Ted Pattison - May 2005
    One of the most powerful aspects of the Microsoft® . NET Framework is its support for attributes. Attribute-based programming is extremely powerful because it adds a declarative dimension to designing and writing software.

  • .NET Matters: ICustomTypeDescriptor, Part 2
    Stephen Toub - May 2005
    In last month's . NET Matters column, I answered a question concerning the PropertyGrid control, specifically about using it with classes that expose fields instead of properties. I demonstrated how the ICustomTypeDescriptor interface in the Microsoft® .

  • Wrappers: Use Our ManWrap Library to Get the Best of .NET in Native C++ Code
    Paul DiLascia - April 2005
    By now you're probably used to reaching into the .NET Framework using Managed Extensions with your C++ code. But what do you do if you have legacy apps that use older versions of the compiler, or if you want to avoid some of the CLR requirements? Well, you can wrap Framework classes in a native way so you can use them in any C++/MFC app without /clr. Paul DiLascia shows you how.

  • Security: Unify Windows Forms and ASP.NET Providers for Credentials Management
    Juval Lowy - April 2005
    The .NET Framework 2.0 provides custom credentials management to ASP.NET apps out of the box. Using it, you can easily authenticate users without using Windows accounts. In this article the author presents a set of helper classes that let a Windows Forms application use the ASP.NET credentials management infrastructure as easily as if it were an ASP.NET application.

  • Speed: NGen Revs Up Your Performance with Powerful New Features
    Reid Wilkes - April 2005
    In the .NET Framework 2.0, NGen has been greatly improved and offers a number of compelling new features to make it easier and faster to deploy high-performance managed applications. This article introduces some of these new features and explains how and when you should use NGen to improve the performance of your apps.

  • Escape DLL Hell: Simplify App Deployment with ClickOnce and Registration-Free COM
    Dave Templin - April 2005
    DLL Hell that results from versioning conflicts is generally not a problem in .NET because components do not require registration, and are either totally isolated to an application or are managed in a well-defined side-by-side way with the help of the Global Assembly Cache. But if you're still using COM, wouldn't it be great if you could deploy your existing COM components using a model similar to the .NET Framework? In Windows XP, you can, and this article explains how.

  • Flex Your Data: Teach Old Data New Tricks with the Fully Loaded Advances in ADO.NET 2.0
    Julia Lerman - April 2005
    ADO.NET 2.0 will streamline your data access development efforts. Its new features let you work better with XML and SQL Server, and they offer lots of other improvements as well. This article takes a detailed look at some of the more interesting enhancements and focuses on performance and flexibility.

  • Team Up!: Get All Your Devs in a Row with Visual Studio 2005 Team System
    Chris Menegay - April 2005
    Visual Studio 2005 Team System includes tools to help project managers, architects, developers, testers, and even development managers. In this article, the author provides an overview of Team System using the Visual Studio 2005 December Community Technology Preview, shows you how to set up a development project, and explores the typical development process, from inception through testing.

  • Advanced Basics: Remembering User Information in Visual Basic .NET
    Duncan Mackenzie - April 2005
    Many applications need to store user-specific settings to be persisted between sessions. But how do you go about saving and restoring these settings in your Microsoft® . NET Framework-based application? It's not all that easy to find the correct answer.

  • Cutting Edge: A New Grid Control in Windows Forms
    Dino Esposito - April 2005
    Grid controls are essential in many of today's apps. Until now, though, most developers using Visual Basic® have had to buy third-party components to get an effective, easy to use grid component. The Windows® Forms DataGrid turned out to lack too many features for the average developer.

  • Test Run: Lightweight UI Test Automation for ASP.NET Web Apps
    James McCaffrey - April 2005
    The release of ASP. NET revolutionized Web development and made it easy to create full-featured Web applications. Visual Studio® 2005 and ASP. NET 2. 0 will let you add even more functionality to your applications, but the more features a Web application has, the more important testing becomes.

  • Service Station: Developing .NET Web Services with Beta 2
    Aaron Skonnard - April 2005
    Version 2. 0 of the Microsoft® . NET Framework makes numerous improvements at various levels in the Web services protocol stack. In addition, better tool support and an increased focus on interoperability make your life easier.

  • .NET Matters: ICustomTypeDescriptor, Part 1
    Stephen Toub - April 2005


  • Pure C++: Generic Programming Under .NET
    Stanley B. Lippman - April 2005
    Visual Studio® 2005 brings the type parameter model of generic programming to the Microsoft® . NET Framework. Parameterized types are, of course, standard fare for C++ programmers. So, for those who are unfamiliar with them, I'll give a brief introduction to generic programming in my next few columns.

  • { End Bracket }: Creating a Custom Metrics Tool
    Stephen Toub - April 2005
    Metrics play an important role in our lives. Even if we don't realize it or characterize it as such, many daily activities have the potential to be quantified to some degree. So it's not surprising that metrics play an even greater role in the workplace, where there are goals and a bottom line and where much of a day's activity can be summarized in numbers.

  • Web Services: Increase Your App's Reach Using WSDL to Combine Multiple Web Services
    Gerrard Lindsay - March 2005
    The very tools that have helped drive the growing adoption of Web services, and the enabling abstractions that they provide, can often prevent developers from peeking behind the curtains at the XML standards that make up the Web services stack. This article will offer a solution that enables type sharing between proxies created for complementary Web services, while at the same time providing an opportunity to examine the Web Services Description Language (WSDL) and its interaction with the Web services tools you know and love.

  • ASP.NET: Combine Web and Windows Services to Run Your ASP.NET Code at Scheduled Intervals
    Andrew Needleman - March 2005
    If you want to schedule ASP.NET tasks, one solution is to use a Web service to provide an interface to your ASP.NET application and build a Windows service that calls to it at scheduled intervals. Thus the ASP.NET application doesn't have to own the scheduling logic. Here the author shows how to schedule your ASP.NET tasks using a Windows service to initiate the Web service call because Windows services can start themselves when Windows boots up.

  • WSE 2.0: Give Your Web Services Consumers the Exact XML They Need to Succeed
    Chris Dix - March 2005
    Web services use XML to communicate with each other. But sometimes the XML your service emits is not the same XML that another service is expecting. If you want to avoid the problems that this kind of situation can cause, you need to get good control over your XML serialization. Here author Chris Dix shows you exactly how to tackle this problem.

  • Security: Manipulate Privileges in Managed Code Reliably, Securely, and Efficiently
    Mark Novak - March 2005
    When the author was faced with implementing support for changing a security descriptor on an object, he noticed there was not support for that operation in .NET. So he devised two solutions to the problem: the first, simpler one, is tailored to the .NET Framework 1.1 and can be used today. The second solution incorporates several advanced features available only in the .NET Framework 2.0. Both are presented here.

  • Go Global: Make the .NET World a Friendlier Place with the Many Faces of the CultureInfo Class
    Michael Kaplan - March 2005
    CultureInfo is a complex .NET class whose objects are used for resource loading, formatting, parsing, casing, sorting, and other conventions that change as the language, location, or writing system is changed. It can be tricky to use correctly in every situation. Here Michael Kaplan explains some common scenarios in which you will use CultureInfo and provides information about the behavior, best practices, and consequences of a wrong decision.

  • Advanced Basics: Doing Async the Easy Way
    Ken Getz - March 2005
    If you've been following Ted Pattison's excellent series of Basic Instincts columns on multithreading and asynchronous behavior, you should by now be an expert on handling the issues involved in working with multiple threads in Windows®-based apps.

  • Cutting Edge: Moving DataGrid Rows Up and Down
    Dino Esposito - March 2005
    Imagine opening your Inbox one morning and finding a message that reads "Dear Mr. DataGrid, I urgently need an ASP.NET DataGrid that lets my users move rows on the client. You're my last hope. Will you please help me?"

  • Test Run: Automate Your ASP.NET Web Services Testing
    James McCaffrey - March 2005
    It's no exaggeration to say that Web services are revolutionizing application-to-application communication. Web services are already being used extensively in corporate intranet environments and are making their way into commercial use, too.

  • Inside MSDN: Using InfoPath as a Reporting Solution
    Larry W. Jordan Jr. - March 2005
    I love the part of my job that lets me write code and develop software. In addition to those responsibilities, however, I manage a development organization that's working on a number of large strategic projects.

  • Security Briefs: Access Control List Editing in .NET
    Keith Brown - March 2005
    Access control lists (ACLs) can be complex beasts, and user interfaces for editing them are incredibly tricky to implement properly. That's why I was really excited when Windows® 2000 shipped with a programmable ACL editor, shown in Figure 1.

  • Bugslayer: Mini Dump Snapshots and the New SOS
    John Robbins - March 2005
    In debugging some large Microsoft® . NET Framework-based ap-plications over the last few months, I've been spending more time looking at mini dumps than at live processes. This is mainly because in those large applications problems surface when the apps are running in production and not on test systems.

  • C++ At Work: Making Static Links Keyboard-Capable, Launching URLs from Your App
    Paul DiLascia - March 2005


  • Office: Relive the Moment by Searching Your IM Logs with Custom Research Services
    John R. Durant - February 2005
    Often, IM conversations contain important information you'd like to keep and reuse. Fortunately, MSN Messenger 6.2 has a feature to keep a conversation history permanently in XML format. This article shows you how to leverage that conversation history by consolidating IM exchanges so they are indexed, searchable, and ultimately reusable using the Microsoft Office 2003 Research and Reference task pane.

  • SharePoint: Add a Recycle Bin to Windows SharePoint Services for Easy Document Recovery
    Maxim V. Karpov and Eric Schoonover - February 2005
    Windows SharePoint Services helps improve collaboration and workflow while protecting documents and intellectual property. But one feature is conspicuously missing - an easy way to back up and restore deleted files from document libraries. In this article, the authors take advantage of the extensibility of WSS and its server-side and client-side object models to build a restore feature that works like the Recycle Bin in Windows Explorer.

  • Smart Tags: Realize the Potential of Office 2003 by Creating Smart Tags in Managed Code
    Ben Waldron - February 2005
    While you may well be excited about the prospect of building managed smart tags, there is little information available to help you create them using .NET. In this article the author fills in the blanks. Along the way he discusses the Microsoft Office Smart Tag List XML schema, advanced managed smart tags for Office 2003 and Office XP, and deploying these features in an organization.

  • SQL Server: Display Your Data Your Way with Custom Renderers for Reporting Services
    James Yip - February 2005
    SQL Server 2005 Reporting Servicesis a great tool that offers a centralized approach to storing and rendering reports. It also lets users view and download reports without installing additional software. Plus, reports can be saved in any number of different formats using custom report renderers. In this article, the author will develop one such report renderer that outputs HTML reports, but the skills you'll learn can easily be used to create a renderer for Microsoft Word documents or any other format of your choosing.

  • Testing: Get Your Customers Involved in the Testing Process with Functional Tests in Excel
    Will Stott - February 2005
    For specification documents to be truly valuable, they need to give an accurate picture of all the requirements of a project. This article describes how the communication value of specification documents can be improved by permitting users to test the code under construction using the Framework for Integrated Test (FIT), an open-source tool. It also explains how you can build a Windows Forms application in C# (WinFITRunnerLite) that converts functional tests, as written by your customers using Excel, into a form that allows you to run them with FIT against the code you're developing.

  • Inside MSDN: Designing URLs for MSDN2
    Tim Ewald - February 2005
    This is the first installment of a new column about MSDN® projects: what we're doing, how we're doing it, and what we're learning along the way. It will be written by MSDN staff with the goal of sharing the team's experiences in solving the real-world business problems MSDN faces.

  • Basic Instincts: Using the ReaderWriterLock Class
    Ted Pattison - February 2005
    In several installments over the past year I have written about multithreading programming techniques in Visual Basic® . NET. In the September 2004 issue of MSDN®Magazine, I discussed the need for thread synchronization and how to write thread-safe code using monitors.

  • Data Points: ADO.NET and System.Transactions
    John Papa - February 2005
    The Microsoft® . NET Framework versions 1. 0 and 1. 1 represented major changes in software development. However, one important thing that did not change much was support for distributed transactions.

  • Cutting Edge: Adding a Context Menu to ASP.NET Controls
    Dino Esposito - February 2005
    Although the context menu is a common element of most desktop applications, it is still fairly uncommon in Web application names because it doesn't map well to a server-based technology like ASP. NET.

  • Wicked Code: Five Undiscovered Features on ASP.NET 2.0
    Jeff Prosise - February 2005
    By now, developers everywhere have had the opportunity to download the first beta of the Microsoft® . NET Framework 2. 0. ASP. NET developers who have played with it are no doubt salivating at all the cool new features.

  • .NET Matters: File Copy Progress, Custom Thread Pools
    Stephen Toub - February 2005


  • Pure C++: Hello, C++/CLI
    Stanley B. Lippman - February 2005
    Welcome to my first column for MSDN®Magazine. I had actually written a completely different first column—one on the new generic programming support in Visual Studio® 2005. Reviewing it, though, I realized that it left far too many unanswered questions.

  • C++ At Work: Persisting View State Update, Using Managed Extensions in a DLL
    Paul DiLascia - February 2005
    This month marks the 11th anniversary of my column and the inauguration of a new title: C++ At Work. We're also adding a new bimonthly column, "Pure C++," by my pal Stan Lippman, one of the great C++ Masters.

  • { End Bracket }: C# and VBA: Like Oil and Water
    Ken Getz - February 2005
    Some things just don't mix as well as you would like. Take C# and Microsoft® Excel 2003 or Word 2003, for example. Not only are these applications huge productivity tools, but they both also provide access to large object models that you can program against from your own applications.

  • ASP.NET: 10 Tips for Writing High-Performance Web Applications
    Rob Howard - January 2005
    Writing a Web application with ASP.NET is unbelievably easy. So many developers don't take the time to structure their applications for great performance. In this article, the author presents 10 tips for writing high-performance Web apps. The discussion is not limited to ASP.NET applications because they are just one subset of Web applications.

  • C++ Rules: Power Your App with the Programming Model and Compiler Optimizations of Visual C++
    Kang Su Gatlin - January 2005
    Many programmers think that C++ gets good performance because it generates native code, but even if your code is completely managed you'll still get superior performance. In Visual Studio 2005, the C++ syntax itself has been greatly improved to make it faster to write. In addition, a flexible language framework is provided for interacting with the common language runtime (CLR) to write high-performance programs. Read about it here.

  • Memory Lane: Rediscover the Lost Art of Memory Optimization in Your Managed Code
    Erik Brown - January 2005
    Managed applications rely on the garbage collector in the .NET Framework to allocate and clean up memory. The little CPU time spent performing garbage collection (GC) is usually a fair trade-off for not having to worry about memory management. But for applications in which CPU time and memory are precious resources, minimizing the time spent garbage collecting can greatly improve application performance and robustness. Find out how to manage memory all over again.

  • CLR Profiler: No Code Can Hide from the Profiling API in the .NET Framework 2.0
    Jay Hilyard - January 2005
    The common language runtime (CLR) profiling API makes available information about the application domains, assemblies, and classes that are loaded and used in a process, just-in-time (JIT) compiler notifications, memory usage tracking, tracing of events, exception tracking, managed to unmanaged code transitions, and the state of the runtime. And if that weren't enough, you will find a nicely enhanced profiling API in the .NET Framework 2.0. Find out what's coming up in this next version.

  • Interop: Get Seamless .NET Exception Logging From COM Clients Without Modifying Your Code
    Matt Adamson - January 2005
    Using .NET objects from ASP can help you gain experience with the .NET Framework before migrating to ASP.NET. Your ASP pages will make use of the new .NET components through COM-callable wrappers (CCW). But how will you handle exceptions? This article fills you in.

  • All About Statics: Get a Charge From Statics with Seven Essential Programming Tips
    K. Scott Allen - January 2005
    This article examines seven characteristics of statics that will help you in your development. The discussion will touch on static constructors and how the C# and Visual Basic compilers work together with the runtime to implement additional safety behind the scenes. By the end of the article, you will come away with best practices for the use of static members and static classes in your apps.

  • Advanced Basics: Creating a Five-Star Rating Control
    Duncan Mackenzie - January 2005
    I have to admit it; most of my Windows® Forms controls are an attempt to copy something that already exists. In my October 2004 column I showed you how to create a progress bar that mimicked the one shown during the Windows XP setup routine, and this month I'm at it again.

  • Data Points: Data Source Controls in ASP.NET 2.0
    John Papa - January 2005
    ASP. NET 2. 0 introduces a series of new tools that improve data access including several data source and data bound controls. The new assortment of data source controls can eliminate a ton of repetitive code that was required in ASP.

  • Cutting Edge: Custom Script Callbacks in ASP.NET
    Dino Esposito - January 2005
    ASP. NET client callbacks represent a neat and elegant way to execute server-side code without posting and refreshing the current page. I discussed ASP. NET callbacks in the August and December 2004 installments of Cutting Edge, considering them from the perspective of rendered pages making background callbacks to the server, sending input data to the relevant page, and receiving a response.

  • Test Run: Lightweight UI Test Automation with .NET
    James McCaffrey - January 2005
    Manual user interface testing is one of the most fundamental types of software testing and it's the kind of testing that most software engineers first experience. Paradoxically, automated user interface tests are probably the most technically challenging kind of test to write.

  • The ASP Column: Determining Browser Capabilities in ASP.NET
    George Shepherd - January 2005
    Web applications are different from applications that run in homogenous environments because they send their output to all kinds of platforms and Web browsers. Some browsers support client-side scripting, some support XHTML, and still others have limited screen real estate.

  • Security Briefs: Security Enhancements in the .NET Framework 2.0
    Keith Brown - January 2005
    As I write this column, version 2. 0 of the Microsoft® . NET Framework is at Beta 1. When I got my bits, I hacked together a little program to dump all of the public members of all public types in the entire Framework and ran it on version 1.

  • .NET Matters: Sepia Tone, StringLogicalComparer, and More
    Stephen Toub - January 2005


  • C++ Q&A: Sending Keystrokes to Any App, Calling .NET from an MFC App, and More
    Paul DiLascia - January 2005


  • Tablet PC: Add Support for Digital Ink to Your Windows Applications
    Paul Yao - December 2004
    Check out the cool new features in Windows XP Tablet PC Edition, including a number of Ink types, and ink that's stored as ink. Here Paul Yao takes you on a tour of everything you need to know to get started.

  • Mobility: Optimize Your Pocket PC Development with the .NET Compact Framework
    Dave Edson and John Socha-Leialoha - December 2004
    The .NET Compact Framework can be used to write great code and great applications. As long as you take a few things into consideration and are willing to bend a rule or two, you can have your performance cake and eat it too. In this article the authors present some neat tricks to make life as a programmer easier when using the .NET Compact Framework. Later they discuss techniques to increase performance, and decrease both load time and memory footprints. Sample code is provided.

  • Vrooooom!: How .NET and C# Drove an Entry in the DARPA Grand Challenge
    John Hind - December 2004
    Find out how the .NET Framework, a team of programmers, and a bunch of people from Carnegie Mellon University built an automated car to compete in the DARPA Grand Challenge. Along the way you get some inside tips on building an extensible real-time control architecture based on a whiteboard metaphor and implementing an accurate GPS-synchronized timer component for .NET.

  • .NET Internals: Tailor Your Application by Building a Custom Forms Designer with .NET
    Sayed Y. Hashimi - December 2004
    The design-time architecture of Windows Forms in the .NET Framework has made development much more flexible than it had been with MFC. With Windows Forms, you can drag one of your custom controls from the toolbox and drop it onto the Visual Studio design surface and even though Windows Forms knows nothing about the control, it's able to host it and let you manipulate its properties—not possible in MFC. In this article, the author discusses what's going on under the covers as you design your forms and then walks through the creation of a bare-bones forms designer.

  • .NET Code Tuning: Make Your Apps Fly with the New Enterprise Performance Tool
    John Robbins - December 2004
    Because the common language runtime (CLR) is a black box, it's pretty hard to divine what's going on when you want to track down performance problems. Microsoft will be delivering a brand new profiler, the Enterprise Performance Tool (EPT), as part of Visual Studio 2005 Team Developer Edition that's ideal for use on a production system because it offers some very lightweight means of collecting performance data. Here John Robbins takes you on a tour.

  • Web Q&A: Windowed and Windowless Elements, Cookie Characters, and More
    Edited by Nancy Michell - December 2004


  • Advanced Basics: Calling All Operators
    Ken Getz - December 2004
    This month I found an interesting question in my mailbag. It went something like this: "I am writing some code working with points and other drawing objects in Visual Basic® 2003, and I just want to add an offset to a point, effectively moving the point.

  • Data Points: Efficient Coding With Strongly Typed DataSets
    John Papa - December 2004
    Someone once said to me that the hallmark of a good developer is the desire to spend time efficiently. Developers are continually pursuing ways to make coding easier and faster, and to reduce the number of errors.

  • Cutting Edge: Implications of Script Callbacks in ASP.NET
    Dino Esposito - December 2004
    Script callbacks in ASP. NET 2. 0 is a feature whose time has come. Script callbacks can significantly speed up an application by limiting server postbacks. They also allow you to execute small portions of server-side code without having to manage the view state for reading or writing.

  • Service Station: Run ASMX Without IIS
    Aaron Skonnard - December 2004
    When the Microsoft® . NET Framework first shipped, it introduced a breakthrough Web services framework known as ASMX. The motivation behind the ASMX design was to simplify the process of developing Web services as much as possible so that even if you're not an XML expert, you can get a Web service up and running.

  • .NET Matters: Asynchronous HttpWebRequests, Interface Implementation, and More
    Stephen Toub - December 2004


  • C++ Q&A: Deleting Managed Objects, Wrapping a Library, and More
    Paul DiLascia - December 2004


  • { End Bracket }: Around the World with Visual Basic
    Jay Roxe - December 2004
    The Visual Basic team at Microsoft has spent much of the past eight months out on the road as a part of the Visual Basic® . NET User Group Tour 2004. We've had a chance to visit 13 user groups in the U.

  • App Lockdown: Defend Your Apps and Critical User Info with Defensive Coding Techniques
    Kenny Kerr - November 2004
    Whether you're storing database connection strings, user credentials, or logon info, you'll need to practice good defensive programming techniques to avoid those surprise situations in which your data is exposed. In this article, author Kenny Kerry shows you how.

  • Cryptography: Employ Strong Encryption in Your Apps with Our CryptoUtility Component
    Michael Stuart and J Sawyer - November 2004
    When storing sensitive data, you need to be able to identify threats, determine how these threats interact with each other, and how issues can combine to constitute a vulnerability that will leave your data exposed. With a good understanding of the various cryptographic algorithms, salt, hashes, ACLs, and other available techniques, you'll be in a better position to protect your critical data.

  • Trustworthy Code: Exchange Data More Securely with XML Signatures and Encryption
    Mike Downen and Shawn Farkas - November 2004
    You can sign any kind of data using XML Signature, including part of an XML document, other XML documents, or other data of any format. However, in practice, XML signatures are most frequently used to sign other data represented in XML. In this article, the authors discuss the new standard and how you can benefit from it in your apps.

  • Safety in Windows: Manage Access to Windows Objects with ACLs and the .NET Framework
    Mark Novak - November 2004
    Until now, Microsoft did not provide explicit support in the .NET Framework for manipulating security settings. With the .NET Framework 1.x, access can only be granted to users via a series of cumbersome P/Invoke calls. By introducing the concepts of security objects and rules, the .NET Framework 2.0 allows developers to manipulate security settings of objects in a few easy steps using managed code. Want to know more? Read on.

  • Web Q&A: ADO.NET Joins, HTML to XHTML, ASP.NET ViewState, and More
    Edited by Nancy Michell - November 2004


  • Test Run: API Test Automation in .NET
    James McCaffrey - November 2004
    The most fundamental type of software test automation is automated API testing. API testing essentially entails testing the individual methods that make up a software system rather than testing the overall system itself.

  • Advanced Basics: Digital Grandma
    Duncan Mackenzie - November 2004
    As a parent of a young child, I take a lot of pictures—many more than anyone would ever be interested in seeing. Well, anyone except my mother. This is her first grandchild and the one or two pictures I send to her each week only brush the surface of her grandmotherly needs.

  • Cutting Edge: The ASP.NET 2.0 Wizard Control
    Dino Esposito - November 2004
    ASP.NET has a lot to offer to both the low-level programmer willing to control every little step of the code and the busiest of developers who needs to point-and-click his way through Web app development using just a few existing components.

  • Service Station: Improving Web Service Interoperability
    Aaron Skonnard - November 2004
    If interoperability is the main promise of Web services, why is it that so many developers and organizations have a difficult time achieving it in practice? With all due respect to our hard-working standards bodies, the primary culprits are the imperfect specifications guiding today's implementations.

  • .NET Matters: ThreadPoolPriority, and MethodImplAttribute
    Stephen Toub - November 2004


  • .NET Internals: Examine Running Processes Using Both Managed and Unmanaged Code
    Christophe Nasarre - October 2004
    There are plenty of times when you need to get information on running processes, not the least of which is during performance tuning. Using the techniques in this article and special .NET classes you'll see how to get a process' ID, name, priority, number of threads, kernel handle, and memory consumption, as well as its user-mode, kernel-mode, and total elapsed running time and put them to use in a custom app called AssemblyBrowser.

  • ASP.NET 2.0: Speed Up Your Site with the Improved View State in ASP.NET 2.0
    Fritz Onion - October 2004
    View state is a wonderful thing. It allows the ASP.NET developer to maintain state for server-side controls that are not form elements.Used judiciously, it can improve the user experience. But in the wrong hands, it can cause your pages to grind to a halt. The release of ASP.NET 2.0 will include a variety of improvements to view state that will make it easier to use and less likely to slow performance.

  • Advanced Serialization: Format Your Way to Success with the .NET Framework Versions 1.1 and 2.0
    Juval Lowy - October 2004
    While .NET offers adequate support for the simple serialization cases, issues arise when you're attempting to support delegates and subscribers, versioning, and class hierarchies. . In addition, the introduction of generics in The .NET Framework breaks new ground in the complexity of the serialization task and the power of serialization tools. This article discusses these issues and related pitfalls, suggests techniques and workarounds that address them, and recommends when and how to best use the new serialization abilities.

  • Unit Testing: Mock Objects to the Rescue! Test Your .NET Code with NMock
    Mark Seemann - October 2004
    The problem: unit testing libraries, especially data access components, that have a complex set of dependencies. The solution: providing a dynamic mock implementation of your data access classes. Here the author explains just how to make testing easier and more reliable using NMock.

  • Data Points: Handling Data Concurrency Using ADO.NET, Part 2
    John Papa - October 2004
    Enterprise development has been moving towards a discon-nected model in recent years and ADO. NET development is no exception. While the disconnected model of the ADO. NET DataSet offers great flexibility, that adaptability also means looser control over data updates than you get with a connected data access model.

  • Advanced Basics: Building a Progress Bar that Doesn't Progress
    Duncan Mackenzie - October 2004
    In many situations, accurately estimating the length of a certain process (copying a large file, loading data from a server, retrieving files from the Internet) would be both difficult and inefficient.

  • .NET: P/Invoke Revisited
    Jason Clark - October 2004
    In the July 2003 installment of the . NET column I covered the basics of Win32® interoperation with the Microsoft® . NET Framework (P/Invoke). Based on reader feedback, this topic is worthy of further coverage, so I have decided to revisit P/Invoke in this column.

  • Cutting Edge: Binary Serialization of DataSets
    Dino Esposito - October 2004
    The ADO. NET DataSet object plays an essential role in most of today's distributed, multitiered applications. Instances of the DataSet class are used to move data across the tiers and to exchange data with external services.

  • Service Station: Securing Web Services with WSE 2.0
    Aaron Skonnard - October 2004
    Beginning this month, The XML Files will run under the name Service Station. We have made this change so that the column can discuss broader topics such as Web services, service-oriented architecture, and the like.

  • Security Briefs: Password Minder Internals
    Keith Brown - October 2004
    In my last column I introduced Password Minder, the tool I use to manage all of my passwords. It generates a long, random password for each site I visit, and makes it possible for me to use the most complex passwords possible, without ever having to see the actual password material or type it in manually.

  • .NET Matters: ThreadPoolWait and HandleLeakTracker
    Stephen Toub - October 2004


  • SQL Server 2005: Unearth the New Data Mining Features of Analysis Services 2005
    Jamie MacLennan - September 2004
    In SQL Server 2005 Analysis Services you'll find new algorithms, enhancements to existing algorithms, and more than a dozen added visualizations to help you get a handle on your data relationships. Plus, enhancements to the Data Mining Extensions to SQL along with OLAP, DTS, and Reporting Services integration make it possible to create a new breed of intelligent apps with embedded data mining technology. Here the author explains it all.

  • Express Editions: Get a Lean, Mean Dev Machine with the Express Editions of Visual Basic and SQL Server 2005
    Brian A. Randell - September 2004
    The Express Editions of Visual Basic and SQL Server 2005 have lots of the features of the full-sized versions, but with a lot less of the overhead. Professional developer features such as full IntelliSense support, local debugger, Add Web Reference, and the improved Visual Data Tools will all be available in the Express products, so you don't have to leave your favorite features behind. In this article the author introduces you to these express editions and builds a sample app to get you started.

  • Design Patterns: Simplify Distributed System Design Using the Command Pattern, MSMQ, and .NET
    Brad King - September 2004
    Service-oriented architecture is a great framework when you need to perform distributed computing tasks over the Internet. But when you want to perform processing inside your local network, a different solution may provide a better fit. That solution, based on the Command pattern, uses Windows services and Microsoft Message Queuing to implement a queued system that meets your needs better than a service-oriented solution. This article explains how to build it.

  • Data Points: Handling Data Concurrency Using ADO.NET
    John Papa - September 2004
    One of the key features of the ADO. NET DataSet is that it can be a self-contained and disconnected data store. It can contain the schema and data from several rowsets in DataTable objects as well as information about how to relate the DataTable objects—all in memory.

  • Test Run: Automate Testing of Your Stored Procs
    James McCaffrey - September 2004
    Many Windows®-based applications have a SQL Server™ back-end component that contains stored procedures. Although techniques to automatically test functions in the front-end code are well known, the techniques to write test automation for stored procedures are not.

  • Advanced Basics: Being Generic Ain't So Bad
    Ken Getz - September 2004
    Ispeak at a lot of user groups and conferences where I field tech support questions. Recently, a conference attendee (I'll call him Adam) came up to me with a sheaf of printouts, along with the following question.

  • Cutting Edge: Design Smarter Tracing for ASP.NET Pages
    Dino Esposito - September 2004
    Tracing is important to the success of your ASP. NET applications. When tracing is enabled for an ASP. NET page, a large chunk of runtime information is appended to the page's output for your perusal.

  • The ASP Column: What's in ASP.NET Config Files?
    George Shepherd - September 2004
    Even though you've been using ASP. NET for a while, how much do you really know about ASP. NET configuration files? While you've probably touched the Web. config file from time to time, there are some nuances involved in configuring ASP.

  • Basic Instincts: Thread Synchronization
    Ted Pattison - September 2004
    My last three Basic Instincts columns have examined techniques for using asynchronous delegates and creating secondary threads. Those columns demonstrated how to introduce multithreaded behavior into your applications.

  • Bugslayer: Three Vital FXCop Rules
    John Robbins - September 2004
    In the June 2004 installment of the Bugslayer column, I introduced the amazing FxCop, which analyzes your . NET assemblies for errors and problems based on code that violates the . NET Design Guidelines.

  • Reporting: Deliver User-Friendly Reports from Your Application with SQL Server Reporting Services
    John C. Hancock - August 2004
    SQL Server 2000 Reporting Services--a server-based reporting platform built on the .NET Framework and integrated with SQL Server 2000--lets you easily add reporting from diverse data sources. Using Visual Studio and Reporting Services you can integrate reports from any data source that has an OLE DB, ODBC, or ADO.NET provider into your Web applications. This article explains how it's done.

  • GridView: Move Over DataGrid, There's a New Grid in Town!
    Dino Esposito - August 2004
    When incorporating the ASP.NET DataGrid control into your Web apps, common operations such as paging, sorting, editing, and deleting data require more effort than you might like to expend. But all that is about to change. The GridView control--the successor to the DataGrid-- extends the DataGrid's functionality it in a number of ways. First, it fully supports data source components and can automatically handle data operations, such as paging, sorting, and editing, as long as its bound data source object supports these capabilities. In addition, the GridView control offers some functional improvements over the DataGrid. Here DataGrid expert Dino Esposito introduces the GridView and explains all its long-awaited features.

  • Genetic Algorithms: Survival of the Fittest: Natural Selection with Windows Forms
    Brian Connolly - August 2004
    Genetic Programming is an evolutionary algorithm that employs reproduction and natural selection to breed better and better executable computer programs. It can create programs that implement subtle, non-intuitive solutions to complex problems. By taking a well-known example from the Genetic Programming community and implementing it with the .NET Framework, this article demonstrates that CodeDOM and Reflection provide all the facilities that are needed to do Genetic Programming effectively.

  • Web Parts: Use Windows SharePoint Services as a Platform for Building Collaborative Apps, Part 2
    Jason Masterman and Ted Pattison - August 2004
    Microsoft Office SharePoint Portal Server 2003, which is part of the Office System, lets you create and manage virtual servers, site collections, sites, workspaces, and users. You can also use the Windows SharePoint Services object model to design and implement user-targeted applications. In the second part of a two part series, the authors take a look at the WSS and SPS object models, Web Part Page anatomy, creating and deploying Web Parts, and Web Part security. They also discuss Web Part infrastructure and how to create custom Web Parts.

  • Virtual Server 2005: Program Customized Testing Environments Without Trashing Your Machine
    Ben Waldron - August 2004
    Efficient testing can require many different machine and server configurations but the effort needed to manage these test environments can take a toll. Microsoft Virtual Server 2005 simplifies the provisioning and management of testing environments. This article demonstrates how the extensive Virtual Server COM API can be used to create an automated application testing environment to make your testing chores a whole lot easier.

  • Web Q&A: Page Ready State, DataGrid Row Deletion, and More
    Edited by Nancy Michell - August 2004


  • Data Points: Migrating from ADO to ADO.NET, Part 2
    John Papa - August 2004
    As you move forward with your use of ADO. NET, you'll need to know how to approach situations that you previously learned to handle in ADO and now have to tackle with ADO. NET. Just as n-tiered solutions developed using Visual Basic®, C++, and ASP often rely on ADO for their data access needs, Windows® Forms, Web Forms, and Web services rely on ADO.

  • Cutting Edge: Script Callbacks in ASP.NET
    Dino Esposito - August 2004
    If you're involved in Web development you may have faced a problem that you couldn't find a good solution for—making client-to-server calls outside the current page. For example, you might want to validate the content of a textbox against data stored on the server asynchronously, without interrupting the continuity of the work or without forcing a full page refresh, which is particularly heavy for UI-rich pages.

  • The XML Files: What's New in WSE 2.0
    Aaron Skonnard - August 2004
    Microsoft has recently released Web Services Enhancements for Microsoft® . NET (WSE) 2. 0. WSE 2. 0 provides extensions to the existing ASP. NET Web services framework (. asmx) as well as a standalone messaging framework that's completely transport independent.

  • Test Run: Test Automation for ASP.NET Web Apps with SSL
    James McCaffrey - August 2004
    If you're encrypting user data with Secure Sockets Layer (SSL) over HTTP and you want to test your Web applications programmatically you'll find that the techniques are not widely known. In this month's column I'll show you how to set up a test SSL server and write test automation that verifies the functionality of a simple but representative Web application.

  • Wicked Code: Foiling Session Hijacking Attempts
    Jeff Prosise - August 2004
    Let's face it: every minute of every day, someone, somewhere, is patrolling the Web looking for sites to hack. ASP. NET developers must constantly be on their guard to ensure attempted hacks can't be successful.

  • Advanced Basics: P2P Comm Using Web Services
    Carl Franklin - August 2004
    Iwanted to use my first Advanced Basics column as an opportunity to strike out into new territory, to do something I haven't seen extolled much in the literature, so I've built a Windows® Forms chat program that uses Web services to communicate with other peers.

  • .NET Matters: Debugger Visualizations, Garbage Collection
    Stephen Toub - August 2004


  • C++ Q&A: GetKeyState, the STL String Class, Exposing C++ Objects, and More
    Paul DiLascia - August 2004


  • { End Bracket }: C# to Visual Basic Translation Tool
    John Robbins - August 2004
    Having talked to thousands of developers who use the Microsoft . NET Framework, I've heard one consistent complaint: "I really wish all the samples were written in my programming language. " Nothing is more frustrating than having braved the wilds of Internet searches for a snippet of code that does exactly what you want but is written in a language you don't use.

  • Visual Studio 2005: Bridge the Gap Between Development and Operations with Whitehorse
    Brian A. Randell and Rockford Lhotka - July 2004
    Microsoft is introducing a new suite of tools (code-named "Whitehorse") that will make it easier for you to design and implement systems that conform to a service-oriented architecture. Two of these tools -- the SOA Design Suite and the Class Designer -- support the graphical design of systems and components with support for code generation and support for bi-directional synchronization which lets you ensure that your diagram always represents your system design. This article introduces these tools and shows you how they'll improve your design and development efforts.

  • .NET Tools: Ten Must-Have Tools Every Developer Should Download Now
    James Avery - July 2004
    This article introduces 10 development tools that can increase your productivity, give you a better understanding of .NET, and maybe even change the way that you develop applications. The tools covered include NUnit to write unit tests, Reflector to examine assemblies, FxCop to police your code, Regulator to build regular expressions, NDoc to create code documentation and five more.

  • User Preferences: Manage User Settings in Your .NET App with a Custom Preferences API
    Ray Djajadinata - July 2004
    There are plenty of options out there for managing user preferences including custom configuration files, the Windows registry, and the isolated storage. But each option has its pros and cons -- and a bad choice can make life difficult. In this article, the author evaluates various options and identifies the characteristics of a good preferences API. Based on those characteristics, he introduces an API that is specifically designed for preferences management, one that offers the best of all the options.

  • Web Services: Capturing and Analyzing Client Transaction Metrics for .NET-Based Web Services
    Brian Connolly - July 2004
    This article presents a general-purpose client quality reporting mechanism that can be used in any .NET-based transaction system that employs HTTP/SOAP. The design uses client response time and quality recording, upload of logs as SOAP headers attached to new transaction requests, and server handoff of these headers to a low priority queue for logging and analysis. This technique gives an enterprise near real-time information on actual end-user response times. These response times reflect network delays, client application overhead and server delays. By using this technique, enterprises can avoid the need to develop custom software to mine HTTP logs.

  • Web Q&A: Pop-Ups, Encrypting an ADO.NET Data Stream, and More
    Edited by Nancy Michell - July 2004


  • Data Points: Migrating from ADO to ADO.NET
    John Papa - July 2004
    In recent years ADO has taken the lead as the preferred method for implementing data access in Windows®-based applications. Huge numbers of ADO applications are in use today and many developers are well versed in ADO development.

  • Cutting Edge: Implement Custom Cache Dependencies in ASP.NET 1.x
    Dino Esposito - July 2004
    One of the most compelling improvements that ASP. NET brought to ASP programming was the Cache object. The Cache has some similarities to the Application object and is a container of global data (as opposed to session-specific data) that features a fair number of innovative characteristics.

  • The XML Files: Messages vs. Methods
    Aaron Skonnard - July 2004


  • Test Run: Using Combinations to Improve Your Software Test Case Generation
    James McCaffrey - July 2004


  • Advanced Basics: Data Binding Radio Buttons to a List
    Duncan Mackenzie - July 2004


  • .NET Matters: How Microsoft Uses Reflection
    Edited by Stephen Toub - July 2004
    In this fourth installment of . NET Matters, I'm taking a breather from the Q&A format. Instead, this month I bring you stories from the trenches; developers in product groups within Microsoft describe how they use .

  • C++ Q&A: Message Values, Managed String Literals, Obfuscating Code, and More
    Paul DiLascia - July 2004


  • The Big Story: An Overview of the New Services, Controls, and Features in ASP.NET 2.0
    Jeff Prosise - June 2004
    ASP.NET has become a bit of a gold standard for Web programming. The upcoming version, ASP.NET 2.0 will have even more of the kinds of features that have made it the popular framework it is today. This article takes a broad look at those features, including what's new in data source controls, themes and skins, the DataGrid and its new functionality, managing roles, and other administrative tasks.

  • Security: Security Headaches? Take ASP.NET 2.0!
    Keith Brown - June 2004
    ASP.NET 2.0 provides significant advantages with respect to security, especially for folks developing Web sites that use Forms authentication. By providing a user profile repository with support for roles, Forms authentication will move beyond the purview of the ASP.NET internals guru, and should become much more broadly accessible. This article introduces security in ASP.NET 2.0 to give you a head start with upcoming features.

  • Portals: Unleash Your Site's Potential with Web Parts and Personalization in ASP.NET 2.0
    Steven A. Smith - June 2004
    ASP.NET 2.0 has addressed some of the most common problems developers face today with a suite of controls, components and IDE tools. One such issuer is maintaining preferences information about individual users of a Web application in a uniform manner. This article drills down into ASP.NET 2.0 to illustrate how it helps solve these problems far easier than is possible today, and demonstrates how these features can be combined to build powerful, personalized Websites in very little time.

  • Data: More Load, Less Code with the Data Enhancements of ASP.NET 2.0
    Dino Esposito - June 2004
    A data source control is a server control that wraps some basic functions of a data source - be it a SQL Server database, an XML document, an Excel worksheet, or a sitemap description. Through the services of a similar component, data-bound controls can fetch data as well as insert new records or update and delete existing ones. Data source controls enable a consistent model across a variety of data sources and dramatically reduce the amount of code needed to implement a two-way data-binding scenario. This article provides an introduction to data source controls and other related data binding features.

  • Master Pages: Master Your Site Design with Visual Inheritance and Page Templates
    Fritz Onion - June 2004
    Master pages in ASP.NET 2.0 solve a problem many Web developers have been solving on their own with a variety of techniques for years - providing a single master template for an entire site. This article covers the details of master pages, discussing their usage and implementation and how they are a natural evolution of custom techniques developers are using today.

  • Controls: Plan Your Migration to the Visual Studio 2005 Navigation Controls
    Dave Donaldson and Steven DeWalt - June 2004
    Navigation is central to a well functioning Web application and it can be implemented numerous ways using today's technologies. This article highlights some of the key details of the new navigation controls that are part of the upcoming ASP.NET 2.0, and talks about how to design and implement one of these navigation controls today. This article contains a simple Web site that demonstrates the use of these navigation controls, pointing out some of the key items such as a breadcrumb control and things to watch for along the way. The article then describes how to implement a breadcrumb control today.

  • Editor's Note: Fun with ASP.NET 2.0
    - June 2004
    As you could probably tell from the cover, we are bringing you early, in-depth coverage of ASP. NET 2. 0, the Web components of the next version of the Microsoft . NET Framework. ASP. NET 2. 0 was unveiled at the October 2003 Microsoft PDC, but until now has had limited availability.

  • Web Q&A: Visual Studio 2005, HTC Memory Problems, and More
    Edited by Nancy Michell - June 2004


  • Data Points: Contrasting the ADO.NET DataReader and DataSet
    John Papa - June 2004


  • Cutting Edge: Dress Your Controls for Success with ASP.NET 1.1 Themes, Part 2
    Dino Esposito - June 2004


  • .NET: Unexpected Errors in Managed Applications
    Jason Clark - June 2004


  • Bugslayer: Bad Code? FxCop to the Rescue
    John Robbins - June 2004


  • Basic Instincts: Creating and Managing Secondary Threads
    Ted Pattison - June 2004


  • .NET Matters: XML Comments, Late-bound COM, and More
    Stephen Toub - June 2004


  • C++ Q&A: Performance Optimization, Controls versus Components
    Paul DiLascia - June 2004


  • C# 2.0: Create Elegant Code with Anonymous Methods, Iterators, and Partial Classes
    Juval Lowy - May 2004
    C# 2.0 introduces a wealth of exiting new features, such as generics, iterators, partial classes and anonymous methods. While generics are the most talked-about feature especially for former classic C++ developers, the rest of the new features are important additions to your .NET development arsenal, enhancing power and improving overall productivity. This article is dedicated to all the new C# 2.0 capabilities besides generics to give you a good overall picture of the upcoming features.

  • C++: Write Faster Code with the Modern Language Features of Visual C++ 2005
    Stephen Toub - May 2004
    The next version of Visual C++ has a new syntax that is both elegant and powerful. It has new optimization technology that has improved the speed of Microsoft. It has new compilation modes that ensure Common Language Infrastructure compliance and verifiability for the .NET Framework, and it has new models for interop. In this article Stephen Toub explains these and other improvements to Visual C++.

  • Visual Basic: Navigate the .NET Framework and Your Projects with "My"
    Duncan Mackenzie - May 2004
    The next version of Visual Basic, Visual Basic 2005, will include some powerful new features. One of the most interesting is the My language extensions: My.Application, My.Computer, My.Forms, My.Resources, My.Settings, My.User, and My.WebServices. The My language extensions take the idea of helper functions to a whole new level because they include so much functionality out of the box. Called "a speed-dial for the .NET Framework" by the author, the My extensions are a feature you won't want to overlook.

  • .NET Framework 2.0: Craft a Rich UI for Your .NET App with Enhanced Windows Forms Support
    Michael Weinhardt and Chris Sells - May 2004
    The upcoming version of the .NET Framework offers a host of enhancements an order of magnitude over and above existing versions. In particular, developers writing Windows Forms benefit from a variety of new and improved features targeting development, deployment, increased productivity, and auto-generated code. This article covers some of the key new features including designer enhancements, new controls, data binding, and deployment to give you a taste of what's to come.

  • ClickOnce: Deploy and Update Your Smart Client Projects Using a Central Server
    Brian Noyes - May 2004
    ClickOnce is a new deployment technology that allows users to download and execute Windows-based client applications over the Web, a network share, or from a local disk. Users get the rich interactive and stateful experience of Windows Forms, but still have the ease of deployment and updates available to Web applications. ClickOnce applications can be run offline and support a variety of automatic and manual update scenarios.Learn all about it here.

  • Debugging: DataTips, Visualizers and Viewers Make Debugging .NET Code a Breeze
    Morgan Skinner - May 2004
    There is a whole host of new goodies in upcoming release of Visual Studio 2005 that will enhance your debugging experience. One such improvement will make it easy to visualize types within the debugger. This article discusses those improvements and covers debugger attributes and type visualizers. In addition, the author shows you how to extend the display of your own types with custom attributes and how to plug in an assembly to visualize.NET types built into the framework.

  • Data Points: Saving Parent-child Data in a Multitiered App Using ADO.NET
    John Papa - May 2004


  • Cutting Edge: Dress Your Controls for Success with ASP.NET 1.1 Themes
    Dino Esposito - May 2004


  • The XML Files: XML Data Migration Case Study: GEDCOM
    Aaron Skonnard - May 2004


  • Advanced Basics: Create a Graphical Editor Using RichTextBox and GDI+
    Ken Spencer - May 2004


  • Basic Instincts: Updating the UI from a Secondary Thread
    Ted Pattison - May 2004


  • .NET Matters: Finalizers, Assembly Names, MethodInfo, and More
    Stephen Toub - May 2004


  • C++ Q&A: Updating Views in MFC, Spying on Events in the .NET Framework
    Paul DiLascia - May 2004


  • Testing: Perform Code Coverage Analysis with .NET to Ensure Thorough Application Testing
    James McCaffrey - April 2004
    When running your tests how do you know which parts of your product code are actually executed and tested? This article presents a complete system called Fundamental Function code coverage that operates at the method level. The author gives an overview of the system so you can understand code coverage principles, explains the key parts of the underlying code, and discusses how code coverage fits into the overall product development cycle. After reading this article you will be able to perform code coverage analysis on any .NET software system.

  • Test-Driven C#: Improve the Design and Flexibility of Your Project with Extreme Programming Techniques
    Will Stott and James Newkirk - April 2004
    Test-driven development (TDD) should be on every developer's radar screen because a comprehensive set of tests makes for maintainable code and frees you from having to create a perfect design up-front. This article explains how to perform TDD and takes you step-by-step through a number examples to get you started.

  • Instrumentation: Powerful Instrumentation Options in .NET Let You Build Manageable Apps with Confidence
    Jon Fancey - April 2004
    As systems grow and become more heterogeneous, so their complexity increases. The more code you write, the more that can go wrong. The more that can go wrong, the more you need a good instrumentation policy. In this article, the author looks at the various technologies available in the .NET Framework, such as tracing, logging, WMI, EIF, which are designed to help you. He will also look at the pitfalls you should avoid and provide you with the fundamentals from both a technical and managerial perspective so that you can instrument your code effectively.

  • Stress Testing: Custom LoadGenerator Tool Identifies the Issues Your Application Faces Under Stress
    Brian Otto - April 2004
    It's easy to postpone stress testing when developing an application, and it's easy to forgo it altogether. Having an easy-to-use framework at your fingertips to conduct these tests can make the task far less painful. This article walks you through an application that eases the task of generating load for a variety of layers within an application.

  • Mobility: Add Keyboard Support to Compact Framework Apps by Trapping Windows Messages
    Alan Pulliam - April 2004
    The Compact Framework Control class doesn't provide direct access to Windows messages. However, with P/Invoke, a few lines of native code, and the Compact Framework MessageWindow class, it's still possible to access underlying Windows messages. This can be used to work around any .NET Framework features, including keyboard support, that are not included in the Compact Framework.

  • Web Q&A: JScript Leaks, Getting the XmlDataDocument, and ASPX Includes
    Edited by Nancy Michell - April 2004


  • Cutting Edge: Image Generation Service for ASP.NET 1.1
    Dino Esposito - April 2004


  • Advanced Basics: Synchronizing Multiple Windows Forms
    Ken Spencer - April 2004


  • .NET Matters: Const in C#, Exception Filters, IWin32Window, and More
    Stephen Toub - April 2004
    Welcome to . NET Matters. This new column will delve into the ins and outs of the Microsoft® . NET Framework, answering readers' questions on various topics related to its extensive libraries, languages, and the common language runtime.

  • Security Briefs: Beware of Fully Trusted Code
    Keith Brown - April 2004
    The vast majority of managed applications run with full trust, but based on my experience teaching . NET security to developers with a broad range of experience, most really don't understand the implications of fully trusted code.

  • Bugslayer: .NET Internationalization Utilities
    John Robbins - April 2004
    As you saw in last month's column, . NET internationalization support is excellent and allows you to move your application to a world audience quite easily. Before you jump into this month's discussion, you may want to go back and read the March column.

  • Talking To...: Robert Green Talks About Communities for Visual Basic .NET
    - April 2004
    MSDN Magazine recently talked to Robert Green, the Community Lead Program Manager for Visual Basic, about what to expect in the next version and how the Visual Basic team hopes to work more closely with the Visual Basic community.

  • Office 2003: Secure and Deploy Business Solutions with Microsoft Visual Studio Tools for Office
    Brian A. Randell and Ken Getz - March 2004
    Microsoft Visual Studio Tools for the Microsoft Office System is a new technology that brings the advanced features of Visual Studio .NET and the .NET Framework to applications built for Microsoft Office Word 2003 and Microsoft Office Excel 2003. Deploying solutions built with this technology requires that you understand how runtime security is enforced in managed applications and how to configure users' systems to run your solutions without introducing security holes.To promote that understanding, this article will demonstrate how to establish trust, explain policy considerations and permissions, and explain what trusted code is all about. Secure assembly deployment is also covered in detail.

  • C# In-Depth: Harness the Features of C# to Power Your Scientific Computing Projects
    Fahad Gilani - March 2004
    The C# language has been used quite successfully in many kinds of projects, including Web, database, GUI, and more. One of the last frontiers for the application of C# code may well be scientific computing. But can C# measure up to the likes of FORTRAN and C++ for scientific and mathematical projects?In this article, the author answers that question by looking at the .NET common language runtime to determine how the JIT compiler, Microsoft intermediate language, and the garbage collector affect performance. He also considers C# data types, including arrays and matrices, along with other language features that play an important role in scientific computing applications.

  • Error Handling: Throwing Custom Exception Types from a Managed COM+ Server Application
    Bob DeRemer - March 2004
    Exception handling semantics in .NET are based on type, so you can create custom exceptions that have their own properties and methods. In .NET, exceptions are first-class citizens, and since they're the built-in error handling mechanism, all .NET-compliant languages must support exceptions. In addition, COM+ services are available to .NET code as Enterprise Services, so you can leverage exceptions in your Enterprise Services design.In this article the author describes custom exceptions, throwing exceptions across COM interop boundaries, and working with Enterprise Services.

  • Web Q&A: Hard Drive Security, Comparing Two Versions of a DB, and More SQL
    Edited by Nancy Michell - March 2004


  • Data Points: Exception-handling Techniques
    John Papa - March 2004


  • Cutting Edge: Personalization in ASP.NET 1.1
    Dino Esposito - March 2004


  • The XML Files: WS-Policy and WSE 2.0 Assertion Handlers
    Aaron Skonnard - March 2004


  • Advanced Basics: Extracting Data from .NET Assemblies
    Ken Spencer - March 2004


  • The ASP Column: Using SOAP Extensions in ASP.NET
    George Shepherd - March 2004


  • Bugslayer: Basics of .NET Internationalization
    John Robbins - March 2004


  • C++ Q&A: List View Mode, SetForegroundWindow, and Class Protection
    Paul DiLascia - March 2004


  • Resource File: ASP.NET "Whidbey"
    - March 2004


  • Yukon Basics: XML, T-SQL, and the CLR Create a New World of Database Programming
    Eric Brown - February 2004
    The next version of SQL Server, code-named "Yukon," includes quite a few enhancements and expanded language support. For example, Transact-SQL now conforms more closely to the ANSI-99 SQL specification and makes querying more flexible and expressive. Yukon can execute user-defined functions, stored procedures, and triggers written in CLR-targeted languages, including Visual Basic .NET and C#. It supports a subset of the W3C standard XQuery language, and has native XML support.In this article, the author outlines the most significant language features and builds an order-entry sample app.

  • Types in Yukon: Managed UDTs Let You Extend the SQL Server Type System
    Peter W. DeBetta - February 2004
    The next version of SQL Server, code-named "Yukon," will offer enhanced support for user-defined types (UDTs). Because UDTs can be managed by the CLR, you can represent a wide variety of data structures to create types not possible with previous versions of SQL Server. With UDTs you can more precisely control the kind of data your type accepts, resulting in better data management. This article explores UDTs in "Yukon" and covers their design and implementation.

  • Standard I/O: Console Appplications in .NET, or Teaching a New Dog Old Tricks
    Michael Brook - February 2004
    The Microsoft .NET Framework is not just about Windows Forms and Web services. This article discusses the simplest kind of Framework-based application—the console app—along with the frequently overlooked constructs of standard input/output and the pipe. When designed carefully, console applications offer a surprisingly powerful way of solving complex programming problems. One of the more exciting aspects of this approach is that while each application in the pipe is fairly simple, the result of their interaction can be a relatively complex task. Here the author explores the ins and outs of writing these console apps.

  • Timers: Comparing the Timer Classes in the .NET Framework Class Library
    Alex Calvo - February 2004
    Timers often play an important role in both client applications and server-based components (including Windows services). Writing effective timer-driven managed code requires a clear understanding of program flow and the subtleties of the .NET threading model. The .NET Framework Class Library provides three different timer classes: System.Windows.Forms.Timer, System.Timers.Timer, and System.Threading.Timer. Each of these classes has been designed and optimized for use in different situations. This article examines the three timer classes and helps you gain an understanding of how and when each class should be used.

  • Cutting Edge: Owner-Drawing in .NET
    Dino Esposito - February 2004


  • The XML Files: XML Report from the Microsoft PDC 2003
    Aaron Skonnard - February 2004


  • The ASP Column: Web Services: ATL Server Versus ASP.NET
    George Shepherd - February 2004


  • Wicked Code: Client-side Paging for DataGrids
    Jeff Prosise - February 2004


  • C++ Q&A: Color Support, Console Apps, and Saving User Settings
    Paul DiLascia - February 2004


  • Code Name Longhorn: A First Look at Writing and Deploying Apps in the Next Generation of Windows
    Dino Esposito - January 2004
    The next version of the Microsoft Windows operating system, code-named "Longhorn," marks a significant change not only in terms of how the operating system works, but also in the way in which applications are built. The Longhorn version of Windows includes a new storage system, natural search technology, and an increased emphasis on security and trustworthy computing. Here the author provides an overview of Longhorn, focusing on the build-once, deploy n-times application model. In addition, he discusses the new language, code-named "XAML," that's used to create UI elements, then presents some working samples.

  • Code Name Indigo: A Guide to Developing and Running Connected Systems with Indigo
    Don Box - January 2004
    This article describes a collection of new programming frameworks that are part of "Longhorn," the upcoming version of Windows. "Indigo," the code name for this framework, provides rich support for service-oriented design that is complementary to traditional object-oriented approaches. Indigo marries the best features of .NET Remoting, ASMX, and .NET Enterprise Services into a unified programming and administration model. Indigo's deep support for standard protocols, including HTTP, XML, and SOAP, makes it easier to integrate applications and services without sacrificing security or reliability.

  • Code Name Avalon: Create Real Apps Using New Code and Markup Model
    Charles Petzold - January 2004
    The presentation subsystem in the next version of Windows, code-named "Longhorn," offers powerful new capabilities to developers. This subsystem, code-named "Avalon," allows developers to take advantage of its capabilities through a new markup language code-named "XAML." In addition, modern object-oriented programming languages such as C# and Visual Basic .NET can be used to tie everything together. Because most applications written to Avalon will probably be a mix of XAML and programming code, this article discusses XAML tags used to control page layout along with the procedural code written to respond to events.

  • Windows Shell: Create Namespace Extensions for Windows Explorer with the .NET Framework
    Dave Rensin - January 2004
    Extending the Windows shell with namespace extensions allows you to create some custom functionality for Windows Explorer. One common use is to enable Explorer to present a list of items that do not exist in one real folder, but actually reside in a number of places. The view on the folder makes it look like these items are in one place, so managing them becomes easier. This article illustrates the process of creating custom shell namespace extensions using C# and the .NET Framework. The author dispels some myths about the difficulty of writing such extensions, and shows that it is easier than it was before .NET. Along the way he outlines undocumented interfaces and describes advanced techniques for consuming them in .NET.

  • Cutting Edge: Extend the ASP.NET DataGrid with Client-side Behaviors
    Dino Esposito - January 2004


  • Advanced Basics: Windows Forms Controls: Z-order and Copying Collections
    Ken Spencer - January 2004


  • Basic Instincts: Asynchronous Method Execution Using Delegates
    Ted Pattison - January 2004


  • .NET: Practical Multithreading for Client Apps
    Jason Clark - January 2004


  • C++ Q&A: Get Logical Drives with VolInfo, Modifying the System Menu
    Paul DiLascia - January 2004


  • Talking To...: Carl Franklin Talks About Being a New MVP and His Passion for Visual Basic .NET
    - January 2004


  • MSMQ and .NET: Send MSMQ Messages Securely Across the Internet with HTTP and SOAP
    David S. Platt - December 2003
    When creating a distributed system you frequently need to provide for communication between two entities that are not in sync. Microsoft Message Queue Server (MSMQ) provides the kind of store-and-forward messaging in a pre-built infrastructure that can help you address these kinds of messaging needs. In the past, MSMQ was accessed using a COM wrapper. Now there's a .NET wrapper that lets you accomplish your messaging goals easily from your Framework-based code. To illustrate the use of the wrapper, the author builds a messaging application, sends MSMQ messages over the Web, and discusses messaging security.

  • Remoting: Managing the Lifetime of Remote .NET Objects with Leasing and Sponsorship
    Juval Lowy - December 2003
    Leasing and sponsorship is the solution for managing the lifecycle of a remote object in .NET. Each object has a lease that prevents the local garbage collector from destroying it, and most distributed applications rely upon leasing. There are several ways in which objects and clients can extend the lease, including dedicated sponsor objects. In this article, the author explains leasing, shows how to configure it, and how it relates to the various remoting activation models. He then discusses design guidelines and options, along with their impact on throughput and performance. Additionally, he introduces a helper class used to automate the management of lease sponsors.

  • Office 2003: Host an Interactive Visio Drawing Surface in .NET Custom Clients
    Mai-lan Tomsen Bukovec and Blair Shaw - December 2003
    Microsoft Office Visio 2003 introduces a new drawing component that allows you to embed an interactive drawing surface into your application's user interface. You can drive the Visio drawing component from events in your host application or with data from a Web Service and an ADO.NET data adapter. The Visio drawing component supports the rich Visio application programming model, giving you control over how graphics are used and displayed on the drawing surface. This article explains how to embed the Visio drawing component into a C#-based Windows Forms client app that retrieves data from the Fabrikam 2.0 Web Service.

  • Cutting Edge: Custom Design-time Control Features in Visual Studio .NET
    Dino Esposito - December 2003


  • The XML Files: A Survey of Publicly Available Web Services at Microsoft
    Aaron Skonnard - December 2003


  • Advanced Basics: Windows Forms Q&A
    Ken Spencer - December 2003


  • Design Patterns: Asynchronous Wait State Pattern in ASP.NET
    Lyn Robison - December 2003


  • C++ Q&A: Docking the Menu Bar, Abstract Classes vs. Interfaces, and More
    Paul DiLascia - December 2003


  • Protect It: Safeguard Database Connection Strings and Other Sensitive Settings in Your Code
    Alek Davis - November 2003
    Protecting application secrets, such as database connection strings and passwords, requires careful consideration of a number of pertinent factors such as how sensitive the data is, who could gain access to it, how to balance security, performance, and maintainability, and so forth. This article explains the fundamentals of data protection and compares a variety of techniques that can be used to protect application settings. The author discusses what to avoid, such as hiding keys in source code and the use of Local Security Authority. In addition, he presents some effective solutions such as the Data Protection API.

  • Encrypt It: Keep Your Data Secure with the New Advanced Encryption Standard
    James McCaffrey - November 2003
    The Advanced Encryption Standard (AES) is a National Institute of Standards and Technology specification for the encryption of electronic data. It is expected to become the accepted means of encrypting digital information, including financial, telecommunications, and government data. This article presents an overview of AES and explains the algorithms it uses. Included is a complete C# implementation and examples of encrypting .NET data. After reading this article you will be able to encrypt data using AES, test AES-based software, and use AES encryption in your systems.

  • Authorize It: Use Role-Based Security in Your Middle Tier .NET Apps with Authorization Manager
    Keith Brown - November 2003
    Authorization Manager in Windows Server 2003 represents a significant improvement in the administration of role-based security, making it more scalable, flexible, and easier to implement. Using Authorization Manager, you can define roles and the tasks those roles can perform. You can nest roles to inherit characteristics from other roles, and you can define application groups. In addition, Authorization Manager lets you use scripts to modify permissions dynamically, and it allows you to wrap your security logic in a security policy that can be stored in Active Directory. Authorization Manager also includes an easy-to-use API for running access checks. The author discusses all of these topics and demonstrates them with a working sample.

  • Review It: Expert Tips for Finding Security Defects in Your Code
    Michael Howard - November 2003
    Reviewing code for security defects is a key ingredient in the software creation process, ranking alongside planning, design, and testing. Here the author reflects over his years of code security reviews to identify patterns and best practices that all developers can follow when tracking down potential security loopholes. The process begins by examining the environment the code runs in, considering the roles of the users who will run it, and studying the history of any security issues the code may have had. After gaining an understanding of these background issues, specific vulnerabilities can be hunted down, including SQL injection attacks, cross-site scripting, and buffer overruns. In addition, certain red flags, such as variable names like "password", "secret," and other obvious but common security blunders, can be searched for and remedied.

  • Obfuscate It: Thwart Reverse Engineering of Your Visual Basic .NET or C# Code
    Gabriel Torok and Bill Leach - November 2003
    One of the advantages of the .NET architecture is that assemblies built with it contain lots of useful information that can be recovered using ILDASM, the intermediate language disassembler. A side effect, though, is that someone with access to your binaries can recover a good approximation of the original source code. Here the authors present program obfuscation as a way to deter reverse engineering. In addition, they discuss the different types of obfuscation technologies available and demonstrate the new obfuscation tool that is included in Visual Studio .NET 2003.

  • Web Q&A: Secure Passwords, Nested XML, and More
    Edited by Nancy Michell - November 2003


  • Advanced Basics: SQL Server Metadata
    Ken Spencer - November 2003


  • The ASP Column: ATL Server Versus ASP.NET
    George Shepherd - November 2003


  • Bugslayer: Google from Visual Studio .NET
    John Robbins - November 2003


  • Tablet PC: Achieve the Illusion of Handwriting on Paper When Using the Managed INK API
    Carlos C. Tapang - October 2003
    Creating the illusion of a pen writing on paper is no easy software task. Fortunately, the .NET Framework hosts Tablet PC extensions, which lets you create ink-aware applications for the Tablet PC. This API allows applications to draw strokes on the screen and perform a variety of tasks including document markup, storage, and transmission.This article shows you how to handle a couple of inking events as used in the InkClipboard sample. Later, it discusses how to avoid common pitfalls including too frequent redrawing, which causes the ink flow to lag behind the pen movements, diminishing the illusion of ink on paper.

  • OLAP: Build an OLAP Reporting App in ASP.NET Using SQL Server 2000 Analysis Services and Office XP
    Jeffrey Hasan and Kenneth Tu - October 2003
    Many organizations analyze their business-critical data using Online Analytical Processing (OLAP) technology. OLAP-based data mining provides a way to query multidimensional data sets and drill down into the data to find patterns. ASP.NET and the Microsoft Office Web Components (OWC) enable Web-based OLAP reporting. The OWC controls include PivotTable and Chart components that can be embedded in a Web page and scripted by programmers. In this article, the authors build a Web-based OLAP reporting app using ASP.NET, OWC, and SQL Server 2000 Analysis Services to illustrate the process.

  • Blogging: Design Your Own Weblog Application from Scratch Using ASP.NET, JavaScript, and OLE DB
    Marco Bellinaso - October 2003
    The ASP.NET advanced templated controls, such as the DataList and DataGrid, are perfect for many data representation situations. However, when you need the flexibility to render a variety of layouts, the Repeater control is what you need. In this article the author builds a full-featured blog application to illustrate the use of the Repeater and DataList controls that render nested data in a master-detail relationship. He then discusses how to override the default implementations of these controls by adding some client-side JavaScript code that makes the blog more responsive and enhances its usability.

  • Plug-Ins: Let Users Add Functionality to Your .NET Applications with Macros and Plug-Ins
    Jason Clark - October 2003
    Most user applications benefit from the ability to be extended by other developers. It's often easier and more efficient to extend an existing application that users are already familiar with and trained on than it is to develop one from scratch. Thus, extensibility makes your application more attractive. You can build extensibility into your application by supporting features like plug-ins or macros. This is easily accomplished using the .NET Framework even if the core application isn't a .NET Framework app. In this article, the author describes extensibility features of the .NET Framework including late binding and reflection and how to use them, along with plug-in security considerations.

  • Data Points: Exploring the ADO.NET DataRow
    John Papa - October 2003


  • Cutting Edge: Nested Grids for Hierarchical Data
    Dino Esposito - October 2003


  • Advanced Basics: Enterprise Services, SQL Script Editing
    Ken Spencer - October 2003


  • Basic Instincts: Deploying Assemblies
    Ted Pattison - October 2003


  • .NET: More on Generics in the CLR
    Jason Clark - October 2003


  • C++ Q&A: Getting a Menu Handle, Declaring GetParam, and Filtering File Names
    Paul DiLascia - October 2003


  • Office 2003: Bring the Power of Visual Studio .NET to Business Solutions Built with Microsoft Office
    Ken Getz and Brian A. Randell - September 2003
    Microsoft Visual Studio Tools for the Microsoft Office System is a new technology that brings the advanced features of Visual Studio .NET and the .NET Framework to apps built on Microsoft Word 2003 and Excel 2003. Now you can use Visual Basic .NET and C# to write document-centric, managed code solutions that run in-process with Word 2003 or Excel 2003, taking advantage of the rich object models they expose. Along the way you get the benefits of the managed environment in which a fully compiled .NET-based application executes, including code access security.

  • .NET Remoting: Create a Custom Marshaling Implementation Using .NET Remoting and COM Interop
    Jim Sievert - September 2003
    The .NET Framework offers several methods for customizing the presentation of native .NET and COM object types. One such technique, custom marshaling, refers to the notion of specializing object type presentations. There are times, like when a legacy COM component needs to implement a new interface or when you need to make calls across process or machine boundaries, when custom marshaling saves the day. Elements of COM Interop permit the customizing of COM types while .NET Remoting offers the developer the ability to tailor native .NET types. This article examines these techniques.

  • .NET Internals: Rewrite MSIL Code on the Fly with the .NET Framework Profiling API
    Aleksandr Mikunov - September 2003
    In this article, the author shows how to dynamically rewrite Microsoft Intermediate Language code on the fly using the Profiling API of the CLR. Unlike approaches based on Reflection.Emit, this scheme works with the existing assemblies and doesn't require the creation of proxy or dynamic assemblies. The need for IL code rewriting emerges when you want to make your changes transparent to the client and preserve the identity of classes. This technique can be used for creation of interceptors, pre- and post-processing method calls, and code instrumentation and verification.

  • Coroutines: Implementing Coroutines for .NET by Wrapping the Unmanaged Fiber API
    Ajai Shankar - September 2003
    Coroutines are a powerful feature of many programming languages including CLU, Scheme, Python, Ruby, and ICON. Coroutines can save processor overhead and reduce redundancy because they allow you to stop execution of a procedure midstream, return a value, and resume exactly where the procedure left off.This article shows how coroutines can be implemented for the .NET Framework by using the Fiber API and Managed Extensions for C++, and how they can be easily used with other .NET-compliant languages. This article also shows a sophisticated use of the runtime host for running multiple managed threads on a single OS thread.

  • Data Points: Developing Apps with the .NET Compact Framework, SQL Server CE, and Replication
    John Papa - September 2003


  • Cutting Edge: Managing Your Remote Windows Clipboard
    Dino Esposito - September 2003


  • The XML Files: Introducing the Web Services Enhancements 2.0 Messaging API
    Aaron Skonnard - September 2003


  • Advanced Basics: Creating Text Images On the Fly with GDI+
    Ken Spencer - September 2003


  • The ASP Column: The Internet Explorer Toolbar Control
    George Shepherd - September 2003


  • .NET: Introducing Generics in the CLR
    Jason Clark - September 2003


  • C++ Q&A: Retrieving Hidden Path Names, Mouse Events in C#
    Paul DiLascia - September 2003


  • ASP.NET: Jump Start Your Web Site Development with the ASP.NET Starter Kits
    Paul Litwin - August 2003
    If you're building an ASP.NET Web site you could probably use a good, solid code foundation to start with and build upon. Wouldn't it be nice to start with a complete site, make a few tweaks and customizations, and go live? The ASP.NET Starter Kits are packaged solutions that let you do just that. The five kits—Community, Reports, Commerce, Portal, and Time Tracker—supply full, reusable code that can be easily customized. In addition, there are a number of ISPs that support automatic deployment of ASP.NET Starter Kit Web sites, leaving you with little left to do when you have to get there fast. Here, the author introduces the ASP.NET Starter Kits and builds a community Web site with lots of advanced features such as ratings, user polls, upload quotas, change notifications, and themes.

  • DataGrid: Tailor Your DataGrid Apps Using Table Style and Custom Column Style Objects
    Kristy Saunders - August 2003
    One of the most enduring challenges in writing user interfaces is figuring out how to display large amounts of data efficiently and intuitively without bewildering the user. The problem becomes particularly thorny when the interface must reflect hierarchical relationships within the data that the user needs to modify. The Windows Forms DataGrid control gives developers a powerful and flexible tool to meet this challenge. This article explains its basic operations and shows how to extend the DataGrid to display columns of data in an application-appropriate manner.

  • XSLT: Simplify Development and Maintenance of Microsoft .NET Projects with Code Generation Techniques
    Peter Ashley - August 2003
    Code generation techniques using technologies such as XSLT are playing an increasingly important part in software projects as they support the development of a rapidly maintainable code base. This article discusses some of the benefits and possible applications of code generation.To demonstrate these techniques the author develops a Web Forms application that supports the maintenance of records in a SQL Server database, using the database's own metadata to drive the generation process. The SQL Server database schema is extracted using SQLXML 3.0 data access and processed through XSLT stylesheets that generate both a database access layer and a Web Forms user interface with query and update pages.

  • DCOM Interop: Generate Custom Managed C++ Wrappers for Easier COM Interoperation Using DCOMSuds
    Vishwas Lele - August 2003
    Now that you're writing managed code, you'll certainly want to use your existing COM components, but you can't simply call them directly. Instead, you have to wrap the COM component in a runtime-callable wrapper that acts as a proxy between the component and your managed code. While the CLR provides wrapper classes for this purpose, there will be times when you'll want custom objects to wrap your COM components. One way to get the low-level access you need to precisely control resource cleanup, pass security information, and get access to CLR features is to write your own wrapper class in managed C++. This article shows you how.

  • Web Services: Extend the ASP.NET WebMethod Framework with Business Rules Validation
    Aaron Skonnard and Dan Sullivan - August 2003
    In an earlier article the authors showed how to build a custom WebMethods extension that provides XML Schema validation, a function that is lacking in ASP.NET. In the process they established a foundation for enforcing business rules during the deserialization of XML data. The technique, which is described in this article, uses declarative XPath assertions to test business rule compliance.In building this business rules validation engine, the authors integrate the validation descriptions into the WSDL file that is automatically generated by the WebMethod infrastructure. Finally, they demonstrate how to extend wsdl.exe, the tool that generates WebMethod proxy/server code from WSDL files, to make use of their extensions.

  • Cutting Edge: Creating a Multi-table DataGrid in ASP.NET
    Dino Esposito - August 2003
    If you bind a multi-table DataSet to a DataGrid, only the first table is recognized. Here Dino Esposito writes a custom solution the the multi-table problem.

  • Advanced Basics: Data Binding in Visual Basic .NET
    Ken Spencer - August 2003
    Ken Spencer introduces data binding in Visual Basic .NET.

  • Security Briefs: Hashing Passwords, The AllowPartiallyTrustedCallers Attribute
    Keith Brown - August 2003
    Keith Brown describes how yo can hash passwords when you want to store them in your own custom database, and when to use the AllowPartiallyTrustedCallers attribure on your assembly.

  • Basic Instincts: Naming and Building Assemblies in Visual Basic .NET
    Ted Pattison - August 2003
    Learn what the different parts of an assembly name mean, how to create a stronly named assembly, and get other assembly security tips.

  • DirectX 9.0: Introducing the New Managed Direct3D Graphics API in the .NET Framework
    Yahya H. Mirza and Henry da Costa - July 2003
    DirectX 9.0 is the latest evolution of the Microsoft 3D graphics technology for Windows. Direct3D, a major component of the DirectX Graphics subsystem, has evolved so rapidly in the last few years that the underlying programming paradigm has changed quite a bit from its origin. This article introduces the fundamental concepts of the unmanaged Direct3D architecture and illustrates how the managed Direct3D layer abstracts the unmanaged layer. Also, the author describes the Geometry, Texture, Device, and other classes and uses code from the Samples SDK.

  • GDI+: A Primer on Building a Color Picker User Control with GDI+ in Visual Basic .NET or C#
    Ken Getz - July 2003
    Although most developers and APIs use the RGB scheme when working with colors, it's not the only available way to represent or select colors. For instance, the standard Windows color-selection dialog box allows you to work with the HSL color scheme in an indirect way. In this article, the author describes several color selection schemes, and uses GDI+ (via the System.Drawing namespace) to create a component that makes it possible for your own applications to provide a simpler, friendlier color chooser. Along the way, you'll get tips to help you use GDI+ in your own apps.

  • Vector Graphics: Build Flexible, Lightweight XML-Based Images for ASP.NET Using Scalable Vector Graphics
    Dennis Forbes - July 2003
    Scalable Vector Graphics (SVG), a W3C graphics standard built around XML, is one of several vector graphics technologies that allows fast, lightweight drawings such as charts and graphs to be rendered on the fly in an appropriate viewer. There are many advantages to such vector graphics, including conservation of bandwidth and storage media, and flexibility. This article explains these benefits and shows you how to easily add powerful, dynamic, interactive visual elements to your Web applications.

  • Web Services: Extend the ASP.NET WebMethod Framework by Adding XML Schema Validation
    Aaron Skonnard and Dan Sullivan - July 2003
    WebMethods make the development of XML Web Services easier by encapsulating a good deal of functionality, but there is still a lot of underlying XML processing that you have to be responsible for. For example, WebMethods do not validate messages against the implied schema. Because they are not validated, the response that's returned can result in unintended consequences. To address this, the authors extend the WebMethod framework by adding XML Schema validation through a custom SoapExtension class.

  • Real-World XML: Manipulate XML Data Easily with the XPath and XSLT APIs in the .NET Framework
    Dino Esposito - July 2003
    XPath is emerging as a universal query language. With XPath, you can identify and process a group of related nodes in XML-based data sources. XPath provides an infrastructure that is integral to XML support in the .NET Framework. The XPath navigation model is even used under the hood of the XSLT processor. In this article, the author reviews the implementation details of the XPath navigator and the XSLT processor and includes practical examples such as asynchronous transformations, sorted node-sets, and ASP.NET server-side transformations.

  • Data Points: Managing Hierarchical Inserts in ASP.NET and ADO.NET
    John Papa - July 2003


  • Cutting Edge: Working with Images in the .NET Framework
    Dino Esposito - July 2003


  • XML Files: XML Namespace Collisions, XmlNodeList and Deserialization, and More
    Aaron Skonnard - July 2003


  • .NET: Calling Win32 DLLs in C# with P/Invoke
    Jason Clark - July 2003


  • Advanced Basics: Passing Data Between Objects in an Application
    Ken Spencer - July 2003


  • ASP.NET Pipeline: Use Threads and Build Asynchronous Handlers in Your Server-Side Web Code
    Fritz Onion - June 2003
    Fortunately for developers, threading in ASP.NET is a lot easier than it was in ASP. In this article, the author takes a look at threading in the ASP.NET HTTP pipeline, and explains how threads are managed efficiently without the involvement of the developer. The article considers how the common language runtime threadpool is used by ASP.NET to service requests, looks at the pooling mechanisms used for handlers, modules, and applications, and covers both IIS 5.0 and IIS 6.0 and how they differ in their approach to request processing and thread allocation. Finally, how and when to use asynchronous handlers is discussed for developers who still need to use threads in their own applications.

  • Zip Your Data: Using the Zip Classes in the J# Class Libraries to Compress Files and Data with C#
    Ianier Munoz - June 2003
    Zip compression lets you save space and network bandwidth when storing files or sending them over the wire. In addition, you don't lose the directory structure of folders you Zip, which makes it a pretty useful compression scheme. The C# language doesn't have any classes that let you manipulate Zip files, but since .NET-targeted languages can share class implementations, and J# exposes classes in the java.util.zip namespace, you can get to those classes in your C# code. This article explains how to use the Microsoft J# class libraries to create an application in C# that compresses and decompresses Zip files. It also shows other unique parts of the J# runtime you can use from any .NET-compliant language to save some coding.

  • .NET Remoting: Secure Your .NET Remoting Traffic by Writing an Asymmetric Encryption Channel Sink
    Stephen Toub - June 2003
    As .NET Remoting gains popularity in the enterprise space, it must meet business demands for trustworthy computing. Remoting traffic can be secured when objects are hosted in IIS, but when they aren't hosted in IIS, custom security solutions can be developed to secure them. This article provides an in-depth look at writing channel sinks for .NET. It also details the flow of data through custom channel sinks and explains the kinds of manipulations that can be performed on that data.

  • Smart Cleanup: Achieve More Reliable Resource Management with Our Custom C++ Classes
    Eric Niebler - June 2003
    Managing resources in C++ is not easy. When you're unsuccessful, your app can leak all kinds of resources including file system handles, database connections, and, of course, memory. Even in garbage-collected languages like Managed C++, resource management is difficult because garbage collection only deals with memory management, not the other resources that cause performance problems.In this article, the author describes the SmartAny template library he created, which uses a policy-based approach to dynamic resource management. Readers will learn how to use the SmartAny classes and policies to ensure the proper cleanup of their resources, be they files, OS handles, or native and unmanaged objects.

  • Data Points: Techniques in Filling ADO.NET DataTables: Performing Your Own Analysis
    John Papa - June 2003
    How do you know which technique is best for retrieving data and populating a DataSet in ADO.NET?. Since the Microsoft .NET Framework offers so many choices on how to write the code, many developers are now taking a close look at the different options. See what they are.

  • XML Files: Advanced Type Mappings
    Aaron Skonnard - June 2003
    Can XmlSerializer deal with choice compositors? How about mixed content models? XmlSerializer won't serialize objects that implement IDictionary by default, so how do you get arount it? And more.

  • Cutting Edge: ASP.NET Controls Templates
    Dino Esposito - June 2003
    It's easy to create a custom control in ASP.NET by deriving a new class from an already existing control. Creating a new ASP.NET control from scratch, on the other hand, is more challenging. When you need a Web server control and none of the existing ones meet your requirements, you can derive from one of the base classes - Control or WebControl. Try it out.

  • Advanced Basics: Adding New Features with User Controls
    Ken Spencer - June 2003
    In past versions of Visual Basic, there were rudimentary graphics controls. In Visual Basic .NET you have the GDI+ library, which enables you to draw lines, circles, and most anything else. But how can you use the functionality of GDI+ to create lines and other graphics that respond to user mouse clicks and events? Find out.

  • ASP Column: Tree Controls with XSL
    George Shepherd - June 2003
    Manipulating the TreeView server-side control is very much like programming any other ASP.NET server-side control. There are a number of properties, methods, and events that are available both programmatically and through the designer. Find out how to take advantage of it.

  • Bugslayer: SOS: It's Not Just an ABBA Song Anymore
    John Robbins - June 2003
    Hidden deep inside the Microsoft .NET Framework 1.1 you'll find Son of Strike (SOS). If your app is a pure managed code, your development and debugging tasks are easily handled by existing Microsoft tools. If you're on border between managed and native code SOS is your man.

  • .NET: The CLR's Thread Pool
    Jeffrey Richter - June 2003
    How does the thread pool work in the CLR?

  • C++ Q&A: Locking Column Headers, Implementing Singleton Classes
    Paul DiLascia - June 2003
    Prevent the sizing of the column headers in an ATL composite control. Also, see how you can share a small amount of simple data among multiple processes running on the same machine without Remoting.

  • Real-World XML: Manipulate XML Data Easily with Integrated Readers and Writers in the .NET Framework
    Dino Esposito - May 2003
    In the .NET Framework, XmlTextReader and XmlTextWriter provide for XML-driven reading and writing operations. In this article, the author discusses the architecture of readers and how they relate to XMLDOM and SAX parsers. He also shows how to use readers to parse and validate XML documents, how to leverage writers to create well-formed documents, and how to optimize the processing of large XML documents using functions to read and write Base64 and BinHex-encoded text. He then reviews how to implement a stream-based read/write parser that combines the functions of a reader and a writer into a single class.

  • Debugging Tool: Build a Logging and Event Viewing Library to Help Debug Your .NET Framework-based App
    Daryn Kiely - May 2003
    Building a basic, reusable application framework can make development quicker and easier. This allows you to focus more on the problems at hand and less on the repetitive tasks involved in building any application. In this article, the author presents a framework that provides facilities to access the registry and an extensible framework for logging messages to a console window or the Event Viewer. This reusable framework can be included as a library in your projects, allowing you to display an enhanced, color-coded message log and dynamically change logging levels.

  • Visual Studio .NET: Building Windows Forms Controls and Components with Rich Design-Time Features, Part 2
    Michael Weinhardt and Chris Sells - May 2003
    This is the second of two articles discussing the extremely rich design-time features of the .NET Framework. Part 1 discussed the basics, showing you where to start and how to extend your control implementation through attributes and interfaces, as well as their effects on the property browser, code serialization, and other controls. Part 2 continues the journey by concentrating on design-time functionality that you can implement beyond your components and controls, including TypeConverters, UITypeEditors, and Designers. It would be impossible to cover everything you can do in two short articles, which is a testament to just how all-encompassing and flexible the design-time capability of the .NET Framework is.

  • Virus Hunting: Understand Common Virus Attacks Before They Strike to Better Protect Your Apps
    Jason Fisher - May 2003
    Developer's machines can often be more vulnerable to viruses than the average corporate user because of their more frequent access to remote machines and shares, and the differing administrative privileges they maintain across mutiple machines. Reliance on antivirus software is fine as a first line of defense, but you need a basic arsenal of skills for securing the executables on your system and coping with viruses on your own. This article reviews proactive methods you can use to defend yourself against malicious executable code in resources, component libraries, scripts and macros, as well as how to avoid a handful of other potential vulnerabilities.

  • Cutting Edge: Form-based Programming in ASP.NET
    Dino Esposito - May 2003
    One of the most common snags that ASP developers encounter when they first approach ASP.NET is that managed Web applications must be written according to a single-form interface model. Find out how it works.

  • Advanced Basics: Windows Forms Controls
    Ken Spencer - May 2003
    Build a control that allows the user to drag and drop other controls onto the new control at run time, and allow the user to move the control around on a form, all in Visual Basic.

  • House of Web Services: Mandatory Headers in ASP.NET Web Services
    Tim Ewald - May 2003
    The ASP.NET Web Services infrastructure includes support for programming with SOAP message headers. Unfortunately, the model for handling mandatory headers is flawed in that you need to write additional code so that a Web Service will not execute when a mandatory header is not processed. This column explores a specific problem that arises when you deal with mandatory SOAP handles and presents three solutions.

  • Basic Instincts: Programming Events of the Framework Class Libraries
    Ted Pattison - May 2003
    Some practical examples of handling some of the more commonly used events in the Microsoft .NET Framework.

  • C++ Q&A: Window Destruction in the .NET Framework
    Paul DiLascia - May 2003
    If a window is destroyed, does the .NET Framework immediately destroy the corresponding Form, or does it wait until a garbage collection to do this? How can you release my resources as soon as the window is destroyed? This month Paul DiLascia gives you the answers.

  • Visual Studio .NET: Building Windows Forms Controls and Components with Rich Design-Time Features
    Michael Weinhardt and Chris Sells - April 2003
    Visual Studio .NET provides support for designing rich features into your controls and components, allowing you to set properties, set form placement, inherit from base classes, and much more. So how does Visual Studio .NET do all this? What does the Windows Forms designer do? What's the difference between a control and a component? How does Visual Studio integrate your controls so that they can access features of the .NET Framework?In this article, the authors answer these common questions by building a clock control and taking the reader along for the ride. In building the control, hosts and containers are illustrated, the property browser is explained, debugging is discussed, and a general overview of the design-time infrastructure is presented.

  • ASP.NET: Nine Options for Managing Persistent User State in Your ASP.NET Application
    Steven Smith - April 2003
    ASP.NET provides many different ways to persist data between user requests. You can use the Application object, cookies, hidden fields, the Session or Cache objects, and lots of other methods. Deciding when to use each of these can sometimes be difficult. This article will introduce the aforementioned techniques and present some guidelines on when to use them. Although many of these techniques existed in classic ASP, best practices for when to use them have changed with the introduction of the .NET Framework. To persist data in ASP.NET, you'll have to adjust what you learned previously about handling state in ASP.

  • ADO.NET: Tackle Data Concurrency Exceptions Using the DataSet Object
    David Burgett - April 2003
    ADO.NET provides many techniques for improving the performance of data-intensive applications and for making them easier to build. The DataSet, the hallmark of the ADO.NET object model, serves as a miniature, disconnected facsimile of a data source. While using the DataSet improves performance by reducing expensive trips to the database server, it also introduces the possibility of multiple users attempting to change the same data simultaneously, thereby generating data concurrency exceptions. This article examines the common causes behind data concurrency exceptions and presents techniques for overcoming them.

  • Data Access: Implement a Data Access Layer for Your App with ADO.NET
    Dan Fox - April 2003
    Implementing data access functionality is a core activity of most developers working with the .NET Framework, and the data access layers they build are an essential part of their applications. This article outlines five ideas to consider when building a data access layer with Visual Studio .NET and the .NET Framework. The tips include taking advantage of object-oriented techniques and the .NET Framework infrastructure by using base classes, making classes easily inheritable by following guidelines, and carefully examining your needs before deciding on a presentation method and external interface.

  • Editor's Note: MP3 Playlists with Visual Basic .NET
    - April 2003
    Although it's been several months since the slammer virus hit SQL Server installations, we'd like to offer a public service announcement for anyone who hasn't patched their machine yet. PATCH YOUR MACHINE NOW! We found out the hard way that it can hit any machine that runs SQL Server and is attached to the network.

  • Cutting Edge: MyTracer Monitors and Traces ASP.NET Apps
    Dino Esposito - April 2003
    The Microsoft® . NET Framework comes with a rich set of programming tools for debugging and tracing applications. I'm not talking about integrated debuggers; I'm referring to software components that you use in the development cycle.

  • Advanced Basics: Visual Studio .NET 2003 Usage Tips
    Ken Spencer - April 2003


  • Wicked Code: Supporting Database Cache Dependencies in ASP.NET
    Jeff Prosise - April 2003
    Developers love the ASP. NET application cache. One reason they love it is that ASP. NET lets them create dependencies between items placed in the cache and files in the file system. If a file targeted by a dependency changes, ASP.

  • C++ Q&A: Desktop Location, sscanf Equivalents in C#, and More
    Paul DiLascia - April 2003


  • Resource File: ASP.NET Starter Kits
    - April 2003
    It's a well-known axiom in the world of programming: build the samples and they will come. ASP. NET is well suited for building online storefronts and communities, but a lack of easy-to-use, standardized samples has sometimes slowed adoption.

  • Visual Studio .NET: What You Need to Know Today About the New and Upgraded Features in Visual Studio .NET 2003
    Carl Franklin - March 2003
    Any time an upgrade of a favorite tool is released, questions about compatibility, versioning, and changes in methodology abound. The release of Visual Studio .NET 2003 is no exception. Developers will be relieved to learn that breaking changes have been kept to a minimum, and delighted to learn that important new features, like Visual J#, have been added. These and other new features of the .NET Framework 1.1 and Visual Studio .NET 2003, including mobile support and improved debugging, are discussed here.

  • Visual C++ .NET: Language Enhancements and Simplified GUI Development Enrich Your C++ Apps
    Richard Grimes - March 2003
    Managed Extensions for C++ is the preferred programming language for developing Windows Services. Visual Studio .NET 2003 introduces C++ support for designers, providing all the RAD facilities that were available to other languages for developing forms, controls, components, and DataSets. Furthermore, support has been added for the creation of verifiable assemblies with C++.In this article, the author reviews these additions as well as the new compiler and linker switches, demonstrating how C++ remains the premier systems language while becoming a powerful tool for .NET GUI development as well.

  • Windows Forms: .NET Framework 1.1 Provides Expanded Namespace, Security, and Language Support for Your Projects
    Chris Sells - March 2003
    With the much-anticipated release of the .NET Framework 1.1, developers are eager to know what's been added to their programming bag of tricks. In this article, the author focuses on new developments in Windows Forms, such as namespace additions, support for hosting managed controls in unmanaged clients, and designer support for C++ and J#. Integrated access to the Compact Framework and new mobile code security settings also make this release noteworthy. Along with these features, the author reviews the best ways to handle multiple versions of the common language runtime and highlights some potential pitfalls.

  • Site Skinning: Rich XML Classes Let Users Personalize Their Visual Experience on Your ASP.NET Site
    Harry Pierson - March 2003
    One way that Web sites and applications become better able to meet the needs of customers is by allowing them to personalize their experience. For Web sites, this means displaying the content as the user wants to see it. For rich-client applications, this often means allowing the user to choose the user interface through a technique known as skinning, which is similar to themes in Windows XP. This article shows how you can apply skinning to Web sites, wrapping their functionality in a new user interface. The technique uses the rich XML classes in the .NET Framework and the built-in extensibility of ASP.NET.

  • Contexts in .NET: Decouple Components by Injecting Custom Services into Your Object's Interception Chain
    Juval Lowy - March 2003
    The .NET Framework can use contexts as an object's execution scope and intercept calls going to and from the object, similar to the way COM+ provides component services. What is new with this mechanism is that the runtime allows developers to take part in the interception chain and add powerful services, thus extending existing component services. This in turn decouples the business logic from the system plumbing and simplifies long-term maintenance. Presently, .NET contexts and interception are undocumented aspects of .NET. This article presents the underlying interception architecture and message processing, explains custom context attributes, and walks through a custom interception-based component service.

  • XML Files: Merging XML Files, Schema Validation, and More
    Aaron Skonnard - March 2003


  • Cutting Edge: Customize Your Open File Dialog
    Dino Esposito - March 2003
    Displaying an Open File dialog is certainly easy in the Microsoft® . NET Framework with Windows® Forms, but the resulting window is not as customizable as when you create it through the Win32® API. With Windows 2000, Microsoft added a nice feature—the places bar, which is the vertical toolbar that appears on the left side of the window to let you select a frequently visited folder.

  • Design Patterns: Creating Dynamic Factories in .NET Using Reflection
    Romi Kovacs - March 2003
    Design patterns are a powerful tool for designing flexible soft-ware. They provide well-tested solutions to recurring software design problems. One such widely used pattern is the Concrete Factory.

  • Advanced Basics: Handling Null Values with Controls
    Ken Spencer - March 2003


  • House of Web Services: Accessing Raw SOAP Messages in ASP.NET Web Services
    Tim Ewald - March 2003
    Web Services exchange XML messages. Most of today's Web Service toolkits do their best to hide this fact from developers, by exposing a Web Service's behavior as method invocations against objects instead.

  • Basic Instincts: Static Event Binding Using WithEvents
    Ted Pattison - March 2003
    This month's Basic Instincts column builds upon my last three columns in which I introduced and explained the fundamental concepts and syntax associated with delegates and events. Last month I showed you how to design and write a simple class that defines and raises events.

  • C++ Q&A: Find Icons, Launch an App from List Control, and More
    Paul DiLascia - March 2003


  • Class Templates: Bring the Power of Templates to Your .NET Applications with the CodeDOM Namespace
    Adam J. Steinert - February 2003
    In the .NET Framework, the CodeDOM object model can represent code in a variety of languages. This article examines how source code templates written with the Framework's System.CodeDom and System.CodeDom.Compiler namespaces allow developers to create reusable boilerplate source code that can be shared between projects. Components designed via templates improve productivity and shorten development time.Here C++-style classes and templates are simulated and code is generated in multiple languages through the creation of CodeDOM object graphs. Compiling object graphs and formatting output code are also explained.

  • BITS: Write Auto-Updating Apps with .NET and the Background Intelligent Transfer Service API
    Jason Clark - February 2003
    Both the .NET Framework and Windows have some very interesting APIs for creating applications that are capable of updating themselves automatically over a network. There are many advantages to writing your application to update itself like Windows Update does, including convenience for your users, from easier maintenance to network administration. Automatic updates require attention to factors such as discovery, security, and file replacement. In this article, the author covers the BITS API as well as a number of features of the .NET Framework that take care of these facets of auto-updating using the same facilities that the Windows Update uses.

  • Printing: Preview and Print from Your Windows Forms App with the .NET Printing Namespace
    Alex Calvo - February 2003
    Printing is an integral part of every complete Windows-based application. Providing robust printing capabilities in these applications has often proved to be a tedious chore. Now, printing from Windows Forms with the .NET Framework means you must adopt a document-centric approach, resulting in cleaner and more manageable code. While the System.Windows.Forms namespace provides seamless integration with all the standard print dialogs (such as Print Preview, Page Setup, and Print), the System.Drawing.Printing namespace offers numerous classes for extensibility and customization. These classes, and how they provide access to printing capabilities, are covered here. Other useful techniques, such as printing in the background to allow the user to continue other tasks, is also explained.

  • Windows Forms: Give Your .NET-based Application a Fast and Responsive UI with Multiple Threads
    Ian Griffiths - February 2003
    If your application performs any non-UI processing on the thread that controls the user interface, it may make the app seem slow and sluggish, frustrating users. But writing multithreaded apps for Windows has long been restricted to C++ developers. Now with the .NET Framework, you can take advantage of multiple threads in C# to control the flow of instructions in your programs and isolate the UI thread for a fast and snappy user interface. This article shows you how. Also, it discusses the pitfalls of multiple threads and presents a framework for safe concurrent thread execution.

  • Delegates in .NET: A Primer on Creating Type-Safe References to Methods in Visual Basic .NET
    Jesse Liberty - February 2003
    Delegates, new in Visual Basic .NET, are type-safe, object-oriented references to methods. By using delegates, you make your methods accessible to others and therefore more extensible. This article provides an introduction to delegates, their benefits, and how they are used.Here the author shows you how to declare, create, and use delegates to invoke instance and shared methods at run time, and how to implement delegates as properties. He then goes on to provide examples of how delegates are used for callback functionality and explains the relationship between delegates and events. Finally, the article provides a glimpse at how delegates are implemented in intermediate language code by the Visual Basic .NET compiler.

  • Web-Aware Apps: Build Hyperlinks into Your Client App with the Windows Forms LinkLabel Control
    Dan Hurwitz - February 2003
    LinkLabels are Windows Forms controls that enable a user to hyperlink to a URL that points to either the Web or the local directory system. While the SDK documentation discusses the control, it does not demonstrate how linking is accomplished, nor does it outline the power and flexibility the control provides. This article fills those gaps, showing how to link using the LinkLabel control. It also shows the flexibility of this control for the programmer using the .NET Framework. In addition, the author covers the large number of properties that allow you to customize your controls and accurately place them. Their built-in behaviors are also discussed, along with their use in both Visual Basic .NET and C#.

  • Web Q&A: Data Shredding, Updating the Status Bar, and More
    Edited by Nancy Michell - February 2003


  • XML Files: XPath Selections and Custom Functions, and More
    Aaron Skonnard - February 2003


  • Cutting Edge: The ASP.NET View State
    Dino Esposito - February 2003
    In ASP. NET pages, the view state represents the state of the page when it was last processed on the server. It's used to build a call context and retain values across two successive requests for the same page.

  • Advanced Basics: Automatically Generating Proxy Classes
    Ken Spencer - February 2003


  • Basic Instincts: Programming with Events Using .NET
    Ted Pattison - February 2003
    This month's Basic Instincts column builds upon my last two columns in which I talked about concepts and programming techniques associated with delegates. I will assume you have read the last two installments of this column and that you understand the role that delegates play within the Microsoft® .

  • The ASP Column: Using the Internet Explorer WebControls
    George Shepherd - February 2003
    During the lifespan of ASP, there have been many technologies developed for making browser-based user interface development easier. For example, during the early days of classic ASP development, keeping a browser-based UI consistent required many conditional statements into the ASP script.

  • C++ Q&A: Singleton Class Private Constructor, C# Singleton Class, and More
    Paul DiLascia - February 2003


  • Design: Inspect and Optimize Your Program's Memory Usage with the .NET Profiler API
    Jay Hilyard - January 2003
    Developers using .NET often make memory leak tracking a low priority because the common language runtime takes care of garbage collection. What few developers realize, however, is that their objects' lifespans, along with their size and what other objects have been instantiated, all affect how they are cleaned up. Depending on the particular circumstances, these combinations can negatively affect performance, especially over the lifetime of an application. This article presents a way for developers to see memory usage and understand garbage collection using the .NET Profiler API. Along the way, a sample application to demonstrate these principles is built.

  • Test: Build Quick and Easy UI Test Automation Suites with Visual Studio .NET
    James McCaffrey - January 2003
    The .NET Framework provides a surprising new way to quickly and easily create user interface test automation. By using objects in the System.Reflection and System.Threading namespaces, you can write automated tests in minutes instead of hours. This article walks you through the building of a typical Windows-based application that will be used as the test subject. The author then runs through the creation of a C#-based test tool that simulates clicking the test app's UI controls and checks the application's state. After the tool is built, the author explains in detail how it works so you can modify and extend it for your own use.

  • Go Mobile: Create Compact, Robust Mobile Apps with SQL Server CE 2.0 and the .NET Compact Framework
    Mark Brown and David Meunier - January 2003
    Developers have myriad options when it comes to creating solutions for mobile devices. One of the greatest challenges facing mobile developers is finding a compact yet robust local storage solution. SQL Server CE 2.0 promises to deliver on both fronts. This new release represents a tremendous leap in terms of features and performance over its predecessor. This article will review some of the platform and tools choices developers have today. The authors will compare and contrast the significant new features in SQL Server CE 2.0 with the previous release. Following that, they will build a sample app for illustration.

  • XML Files: Introducing XPath 2.0
    Aaron Skonnard - January 2003
    Over two years ago in one of the first installments of this column, I wrote about XPath version 1. 0 (see The XML Files: Addressing Infosets with XPath for a quick review). As stated in the original specification: "XPath is a language for addressing parts of an XML document.

  • Data Points: Expressions in ADO.NET
    John Papa - January 2003
    Managing relations in a database became a whole lot easier with ADO. NET. Instead of returning a single rowset to a data store, you can return a series of rowsets and relate them within a DataSet. There are numerous advantages to using related DataTables in ADO.

  • Cutting Edge: ASP. NET Client-side Hosting with Cassini
    Dino Esposito - January 2003
    In the September and October 2000 issues of MSDN® Magazine I discussed how to build a client-side environment for ASP applications; that is, a serverless environment to run ASP pages (see Cutting Edge: A Client-side Environment for ASP Pages and Cutting Edge: A Client-side Environment for ASP Pages—Part 2).

  • Basic Instincts: Implementing Callbacks with a Multicast Delegate
    Ted Pattison - January 2003
    This month's column is a follow-up to the December 2002 installment in which I introduced the basic concepts and programming techniques associated with delegates. I am going to assume you have already read that column and that you are familiar with the fundamentals of programming delegates.

  • .NET: Safe Thread Synchronization
    Jeffrey Richter - January 2003
    By far, the most common use of thread synchronization is to ensure mutually exclusive access to a shared resource by multiple threads. In the Win32® API, the CRITICAL_SECTION structure and associated functions offers the fastest and most efficient way to synchronize threads for mutually exclusive access when the threads are all running in a single process.

  • Office XP: New Toolkit Lets You Share Information Between Office Documents and Web Services
    Krishnamurthy Srinivasan - December 2002
    The Office XP Web Services Toolkit makes it possible to build applications that gather information and trigger transactions through various Web Services. The toolkit allows you to easily discover Web Services remotely. It also includes the Web Service Reference Tool, which lets you call a Web Service from inside an Office application. This article shows how toolkit-generated code can be used to access simple, as well as complex, Web Services.The author steps through the auto-generated code to explain the classes that collect parameters, the schema to format the request/response, and the actual operations of the Web Service.

  • XML Schemas: Take Advantage of Existing External XML Schemas with a Custom Import Framework in ASP.NET
    Scott Short - December 2002
    Over the years, many industry-standard XML schemas and dialects have been developed. These industry-specific schemas embrace the original purpose of XML and are extremely valuable in promoting and supporting B2B interaction. Unfortunately, the ASP.NET Web Services runtime does not allow developers to directly reference external schemas from within their XML Web Services interface (the WSDL file). This article builds an external schema framework as an extension to the ASP.NET Web Services runtime to enable you to reference external schemas within your XML Web Service interface.

  • Provisioning: Use Web Services Provisioning to Control Access, Usage, and Billing on Your Site
    Chandu Thota - December 2002
    Building Web Services to provide enterprise-level solutions is only the first step. You need to take care of the infrastructure aspects of your solution as well, including provisioning, billing, security, and reporting. In this article, the author uses the .NET Framework and SQL Server 2000 to design a provisioning system that will take care of all these housekeeping tasks. He discusses the general requirements of a Web Service provisioning system, walks through the implementation, and then outlines various scenarios for putting this system to work.

  • XML Files: WSDL, Web Services, and More
    Aaron Skonnard - December 2002


  • Cutting Edge: Binary Serialization of ADO.NET Objects
    Dino Esposito - December 2002
    One of the key elements that makes ADO. NET superior to ADO is the level of integration with XML. In ADO, XML is just an I/O format. In addition, the ADO XML format is totally inflexible and doesn't allow any type of customization.

  • Advanced Basics: Advanced Features in Visual Basic .NET and Testing for Scalability
    Ken Spencer - December 2002


  • Basic Instincts: Implementing Callback Notifications Using Delegates
    Ted Pattison - December 2002
    Delegates are a critical aspect of the Microsoft® . NET Framework and are required learning for many programmers. They will take some time to master, but once you learn how to program with delegates, you'll be thrilled with the possibilities they offer.

  • .NET GUI Bliss: Streamline Your Code and Simplify Localization Using an XML-Based GUI Language Parser
    Paul DiLascia - November 2002
    While Windows Forms in .NET has lots of cool features, if you're used to MFC, there are a couple of things you'll find missing, like doc/view, command routing, and UI update. The .NET answer to this is a code generator that writes new code for every single element. But there's a better way. In this article, Paul DiLascia shows how to develop an XML-based GUI language parser for .NET that lets you code resources, menus, toolbars, and status bars in XML instead of with procedural code. He also shows how a user interface based on XML can easily be localized using standard .NET techniques, and introduces his very own library, MotLib.NET, with lots of GUI goodies for your programming pleasure.

  • Wireless Web: Microsoft Mobile Internet Toolkit Lets Your Web Application Target Any Device Anywhere
    Paul Yao and David Durant - November 2002
    If you've built Web sites using ASP.NET, you'll welcome the Microsoft Mobile Internet Toolkit (MMIT). MMIT extends the Visual Studio .NET IDE you already know by providing new controls for handheld devices letting you easily develop applications for wireless devices. This means you can write less code while adapting it to more devices. Not only does MMIT integrate with Visual Studio .NET, it extends ASP.NET as well. This article gives you the background you need to write, test, and deploy a site with MMIT and make all your code able to target specific devices for a custom fit.

  • CLR Debugging: Improve Your Understanding of .NET Internals by Building a Debugger for Managed Code
    Mike Pellegrino - November 2002
    With the release of .NET, the Microsoft scripting strategy has evolved. Script engines can now compile or interpret code for the Microsoft common language runtime (CLR) instead of integrating debugging capabilities directly into apps through Active Scripting. With that change comes a new set of published services for including debugging functionality in a custom host application. You'll see how to use the debugging services published in the .NET Framework to create a full-featured CLR debugger that allows you to set breakpoints, view call stacks, browse variables, view processes, enumerate threads, and perform other important debugging tasks.

  • .NET Exceptions: Make the Transition from Traditional Visual Basic Error Handling to the Object-Oriented Model in .NET
    Jesse Liberty - November 2002
    If you're used to Visual Basic 6.0 and you're making the transition to Microsoft .NET, you will find that error handling is quite different from what you've used for years. Visual Basic .NET uses a more object-oriented solution to signaling and responding to unexpected problems while your program is running. This approach, called structured exception handling, has a number of advantages over the On Error statements provided in previous versions of Visual Basic. For instance, exceptions give you lots more information about exactly what went wrong in your app. To help you take advantage of this modern error handling paradigm, this article will show you how to raise and respond to exceptions, as well as how to create your own custom exception classes.

  • Web Q&A: Mobile Internet Toolkit versus Smart Device Extensions, SSL Glitch Again, and More
    Edited by Nancy Michell - November 2002


  • XML Files: WebMethod Validation, SOAP Validation, XmlSerializer, One-way Operations, and More
    Aaron Skonnard - November 2002


  • Data Points: DataRelations in ADO.NET
    John Papa - November 2002
    One of the biggest differences between traditional ADO and ADO. NET is that the rowsets stored within ADO. NET can be truly relational. For example, a DataSet can store one DataTable containing customers and another DataTable containing the customers' orders.

  • Cutting Edge: Using Windows Hooks to Enhance MessageBox in .NET
    Dino Esposito - November 2002
    It's fairly safe to assume that all programmers working in Windows® environments are familiar with MessageBox. The MessageBox function displays a message through a popup dialog box and lets programmers add dialog buttons and icons to the message to improve user feedback.

  • Advanced Basics: Using MSMQ with Visual Basic .NET
    Ken Spencer - November 2002


  • The ASP Column: Deploying an ASP.NET App Using Visual Studio .NET
    George Shepherd - November 2002
    When Visual Studio® . NET was released back in February 2002, it included a number of new features that made it easier to create Web applications. The Microsoft® . NET Framework includes classes for intercepting and processing HTTP requests, and Visual Studio .

  • C++ Q&A: System Tray Balloon Tips and Freeing Resources Quickly in .NET
    Paul DiLascia - November 2002


  • Visual Studio .NET: Top Ten Cool Features of Visual Studio .NET Help You Go From Geek to Guru
    Jon Flanders and Chris Sells - October 2002
    Visual Studio .NET has lots of cool features. Obviously, it supports languages that target the common language runtime, like C# and Visual Basic .NET, and it lets you write CLR-managed code. But did you know that there are features of the environment itself, independent of the language features, that earn Visual Studio .NET the cool tool stamp of approval?In this article the authors count down their favorite environment features—the ones they think every developer will applaud. They include support for debugging stored procedures, project reference management, metadata in Class View, a richer immediate window, custom environment programming with macros, and more.

  • CLR Types: Use Reflection to Discover and Assess the Most Common Types in the .NET Framework
    Panos Kougiouris - October 2002
    The .NET Framework Class Library and the common language runtime (CLR) serve as the foundation for all .NET-based applications. But how much do you know about any of the thousands of CLR classes in the library and where do you begin to learn about them?In this article, the author uses the number of relationships with other types to determine which types are going to affect your programming most frequently and how often you'll encounter them. He programmatically surveys the CLR library using reflection to make that determination. Following that, an in-depth examination of the nine most important CLR types is provided.

  • .NET Remoting: Design and Develop Seamless Distributed Applications for the Common Language Runtime
    Dino Esposito - October 2002
    Prior to the advent of .NET, DCOM was the underlying technology for remote communications between Windows-based applications. But DCOM is quirky to set up and configure and not as interoperable as it should be. In .NET, XML Web Services and .NET Remoting are a seamless and effective answer to the demand for tools to build distributed applications.This article provides a primer on .NET Remoting with insights into the internal plumbing. Important aspects of remoting, such as channels, object lifetime management, and clients for remote objects are discussed. In addition, some practical examples are provided.

  • Serial Comm: Use P/Invoke to Develop a .NET Base Class Library for Serial Device Communications
    John Hind - October 2002
    Out-of-the-box, the only way of coding RS232 serial communications applications in the .NET environment is to import the outdated and somewhat limited MSComm ActiveX control. This article describes the development of a lean, multithreaded, and modern RS232 base class library in C# managed code. The library uses Platform Invocation Services to interact with the Win32 API directly. Application programmers can use the library from any .NET language through inheritance; the article explores examples written in C# and Visual Basic .NET.

  • Command Management: Use Design Patterns to Simplify the Relationship Between Menus and Form Elements in .NET
    Michael Foster and Gilberto Araya - October 2002
    In Windows Forms applications, similar commands, such as those in a menu and their counterparts on a toolbar, are not automatically related. They don't fire the same event or run the same handler routine. Yet code that allows the same or similar user commands to fire the same code simplifies development.This article describes the principles of command management and why it's important to have functional commands that are not exclusive to any one UI element. In order to provide an MFC-like command management infrastructure, a design pattern is developed and applied as a series of C# classes.

  • Spider in .NET: Crawl Web Sites and Catalog Info to Any Data Store with ADO.NET and Visual Basic .NET
    Mark Gerlach - October 2002
    Visual Basic .NET comes loaded with features not available in previous versions, including a new threading model, custom class creation, and data streaming. Learn how to take advantage of these features with an application that is designed to extract information from Web pages for indexing purposes. This article also discusses basic database access, file I/O, extending classes for objects, and the use of opacity and transparency in forms.

  • XML Files: The Birth of Web Services
    Aaron Skonnard - October 2002
    The XML technology receiving the most attention these days is Web Services. Web Services is a term commonly used to describe an entire new breed of applications. Unfortunately, not everyone agrees on what that breed is.

  • Cutting Edge: Windows Hooks in the .NET Framework
    Dino Esposito - October 2002
    If you wanted to, you could distinguish two general categories of classes in the Microsoft® . NET Framework—classes that introduce new functionality such as XML readers and ADO. NET providers, and collections and classes that wrap underlying Win32® system functions.

  • Advanced Basics: Building an Attribute Documenter and Viewer
    Ken Spencer - October 2002


  • Basic Instincts: Objects and Values, Part 2: Memory Management
    Ted Pattison - October 2002
    In the June 2002 installment of Basic Instincts I began a discus-sion of objects and values. This month I'll build on that column, so I will assume you've read the June installment and that you know the fundamental differences between value types and reference types.

  • C++ Q&A: Getting Version Info, CFolderTabCtrl Revisited
    Paul DiLascia - October 2002


  • Sugerencias de seguridad: Proteja su código con las diez principales sugerencias de seguridad que todo programador debe conocer
    Michael Howard and Keith Brown - September 2002
    En cuestiones de seguridad, existen muchas maneras de llegar a situaciones problemáticas. Puede confiar en el código que se ejecuta en su red y otorgar acceso a archivos importantes a cualquier usuario pero, en cambio, puede que nunca se moleste en comprobar si el código de su máquina ha cambiado. Puede trabajar sin software de protección antivirus, no establecer medidas de seguridad en su propio código y conceder demasiados privilegios a demasiadas cuentas. Incluso puede llegar a usar descuidadamente demasiadas funciones integradas, de manera que permite las intrusiones y deja los puertos de servidor abiertos y sin supervisar. Obviamente, esta lista podría continuar. ¿Cuáles son algunos de los problemas realmente importantes, los principales errores que debería empezar a controlar a partir de hoy mismo para no poner en peligro los datos ni el sistema? Los expertos en seguridad Michael Howard y Keith Brown presentan estas 10 sugerencias para evitarlos.

  • Security in .NET: The Security Infrastructure of the CLR Provides Evidence, Policy, Permissions, and Enforcement Services
    Don Box - September 2002
    The common language runtime of the .NET Framework has its own secure execution model that isn't bound by the limitations of the operating system it's running on. In addition, unlike the old principal-based security, the CLR enforces security policy based on where code is coming from rather than who the user is. This model, called code access security, makes sense in today's environment because so much code is installed over the Internet and even a trusted user doesn't know when that code is safe.In this article, Don Box explains how code access security works in the CLR. He discusses the kinds of evidence required by policy, how permissions are granted, and how policy is enforced by the runtime.

  • Passport Secure Sign-In: Provide Your Users with Secure Authentication Capabilities Using Microsoft .NET Passport
    Michael Kogotkov-Lisin - September 2002
    Secure sign-in, a new feature in version 2.0 of the .NET Passport single sign-in and profile service, is a functionality that will be especially useful for sites containing confidential information or anywhere security is a primary concern. Such sites include banks, medical sites, and so on. Secure sign-in is as safe as any SSL-based Web site login used today and provides a way to virtually eliminate vulnerability to replay and dictionary attacks.This article explains secure sign-in and demonstrates how you can implement this feature with very little effort in either ASP using the Passport.Manager COM object or in ASP.NET using the .NET class PassportIdentity.

  • HTTP Pipelines: Securely Implement Request Processing, Filtering, and Content Redirection with HTTP Pipelines in ASP.NET
    Tim Ewald and Keith Brown - September 2002
    ASP.NET is a flexible and extensible framework for server-side HTTP programming. While most people think of ASP.NET in terms of pages served, there is a lower-level infrastructure sitting beneath this page model. The underlying plumbing is based on a pipeline of app, module, and handler objects. Understanding how this pipeline works is key if you want to get the most out of ASP.NET as an HTTP server platform, while making your process more efficient, and keeping your server secure. This article introduces the architecture of the pipeline and shows how you can use it to add sophisticated functionality to an ASP.NET-based app.

  • Tamper-Resistant Apps: Cryptographic Hash Algorithms Let You Detect Malicious Code in ASP.NET
    Jason Coombs - September 2002
    Cryptographic hash algorithms produce fixed-length sequences based on input of arbitrary length. A given input always produces the same output, called a hash code. Using these algorithms, you can compute and validate hash codes to ensure that code running on your machine has not been tampered with or otherwise changed. ASP.NET provides a software mechanism for validating hash code fingerprints for every page requested by a client. In this article, the author shows how to use hash codes with ASP.NET applications to detect tampering and prevent malicious code from running when tampering is detected.

  • XML Files: WS-Security, WebMethods, Generating ASP.NET Web Service Classes
    Aaron Skonnard - September 2002


  • Cutting Edge: Using an Eval Function in Web Services
    Dino Esposito - September 2002
    Web Services are often presented as the perfect tool for pro-grammers. They're interoperable, based on open standards such as SOAP and WSDL, and are fully integrated with the Microsoft® . NET platform.

  • Advanced Basics: Reducing Memory Footprints, Gathering Process Info with MSDNMagProcessMonitor
    Ken Spencer - September 2002


  • .NET: Run-time Serialization, Part 3
    Jeffrey Richter - September 2002
    This is the third part of my three-part series on serialization. In part one, I showed how to serialize and deserialize objects. I also showed how to define types that allow instances of themselves to be serialized.

  • Scripting and .NET: Visual Studio for Applications Provides Customized Scripting Facilities for Your .NET Project
    Chris Sells - August 2002
    In the past, the Microsoft Active Scripting architecture has allowed you to make your applications extensible. But it came with some drawbacks. You couldn't call into DLLs; you had to use COM interfaces. The scripts were not compiled, so they ran more slowly than they otherwise might, and a number of objects had to ride along with the script. To solve these problems and make extensibility easier to attain, Visual Studio for Applications was introduced. Presented here is an introduction to VSA that covers language support, types, events, and much more.

  • ASP.NET: Intercept, Monitor, and Modify Web Requests with HTTP Filters in ISAPI and ASP.NET
    Panos Kougiouris - August 2002
    There can be many reasons to reroute incoming Web requests. For instance, sometimes it's necessary to redirect a browser to a page based on user criteria without passing long lists of parameters in the URL. In the past, the only way to intercept such page requests and send them elsewhere was with ISAPI. Now, in ASP.NET, the IHttpModule interface provides notification of server requests, and lets you easily reroute them based on criteria other than browser type or version. Here the author demonstrates the use of IHttpModule for interception and explains the use of ISAPI filters for anyone who isn't yet using ASP.NET.

  • Commerce with ASP.NET: Leverage the Authentication and Form Validation Features of ASP.NET to Bolster Your Commerce App
    Jason Lefebvre and Robert Lair - August 2002
    If you're planning to build an e-commerce site, you'll be pleased to see that ASP.NET makes it easier than ever. Existing controls can be used and extended to add a great deal more functionality than you might expect. In this article, forms-based authentication is used to verify the identity of users and make certain areas of the site, such as the check-out page, inaccessible to unauthorized users. The power and flexibility of validation controls are demonstrated using the CustomValidator control to connect to a Web Service that verifies addresses. A shopping cart is then implemented in ASP.NET using the DataGrid, and finally, credit card authorization and billing are performed.

  • .NET Reflection: Dynamically Bind Your Data Layer to Stored Procedures and SQL Commands Using .NET Metadata and Reflection
    Atif Aziz - August 2002
    One major inconvenience of using SQL stored procedures from code is having to match type information. You have to write long wrapper functions around the procedures just to expose the data types. In the .NET Framework, however, the reflection services of the System.Reflection namespace allow you to query rich metadata that describe data types. This article explains how to use reflection in .NET to end your stored procedure nightmares. The author creates four custom classes, including one that generates a SQLCommand object based on the metadata of a method. Using this library, you'll be on your way to automating the generation of stored procedures.

  • The XML Files: Dynamic Discovery in .NET, Codebehind, WebService Inheritance, and More
    Aaron Skonnard - August 2002


  • Cutting Edge: Designing Reader Classes for .NET Documents
    Dino Esposito - August 2002


  • Advanced Basics: Best Practices for Windows Forms Applications
    Ken Spencer - August 2002


  • The ASP Column: Code-behind in ASPX Files
    George Shepherd - August 2002


  • Wicked Code: Code Your Way to ASP.NET Excellence
    Jeff Prosise - August 2002


  • C++ Q&A: Call Unmanaged DLLs from C#, Killing Processes Cleanly
    Paul DiLascia - August 2002


  • Rotor: Shared Source CLI Provides Source Code for a FreeBSD Implementation of .NET
    Jason Whittington - July 2002
    With over 9,000 files, and including some 1300 public classes to pore through, the Shared Source CLI can teach you quite a bit about the internal workings of the CLR. But the sheer amount of source code included can make just starting your exploration a monumental task. This article discusses some of the things you can learn from the source code facsimile of the CLR, like how JIT compilation works. It will also help you understand how to control execution along with debugging and loading classes. A walk through the steps involved in setting up the runtime will let you become familiar with the process.

  • .NET Zero Deployment: Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients
    Chris Sells - July 2002
    Windows Forms applications solve many of the problems inherent in building Web applications the old fashioned way?with HTML. To demonstrate the use of Windows Forms over the Web, the author takes his existing app, Wahoo!, and ports it to Windows Forms. In doing so, he discusses versioning, linked files, security, storage isolation, the deployment model, and everything else you need to get started building your own Windows Forms apps for the Web.

  • Bug Tracker: Build a Configurable Web-Based Bug Management Tool Using ADO.NET, XML, and XSLT
    Roy Margolis - July 2002
    One of the most significant features of ADO.NET is its integration with XML. Developers can either use an ADO-like API to access the data or work directly with an XML representation of the data. This article demonstrates how both of these techniques can be used together to create Web applications that take advantage of XML standards such as XSLT. The example presented here is a bug tracking application built using C# and the.NET Framework. The development of the application covers several topics including data access using ADO.NET, the presentation of data using XSLT stylesheets, and the integration of ADO.NET with the .NET XML Framework.

  • Cutting Edge: Designing Extensible Windows Forms Applications
    Dino Esposito - July 2002


  • .NET Column: Run-time Serialization, Part 2
    Jeffrey Richter - July 2002


  • C++ Q&A: Get the Main Window, Get EXE Name
    Paul DiLascia - July 2002


  • ASP.NET: Develop Polished Web Form Controls the Easy Way with the .NET Framework
    David S. Platt - June 2002
    Pre-built custom controls make application design easier and faster and allow you to maintain UI consistency. However, prepackaged controls can be big and slow, and are OS-specific. For those who don't want to use prepackaged controls, Visual Studio .NET provides controls for Web Forms similar to those found in Windows Forms, including label and textbox, and new additions such as the DataGrid, all of which you can customize. If you want to design your own controls, the .NET Framework provides inheritable classes that take care of all the nasty stuff you want to avoid, including page lifecycle, maintaining state across invocations, and browser detection. This article discusses these concepts, as well as eventing, rendering, and client-side scripting.

  • Security: Protect Private Data with the Cryptography Namespaces of the .NET Framework
    Dan Fox - June 2002
    The .NET Framework includes a set of cryptographic services that extend the services provided by Windows through the Crypto API. In this article, the author explores the System.Security.Cryptography namespace and the programming model used to apply cryptographic transformations. He discusses reasons why cryptography is easier in .NET than it was before, including the easy programmatic acccess developers have to the cryptography APIs and the difference between symmetric and asymmetric algorithms. Along the way, a brief discussion of the most widely used algorithms, including RSA, DSA, Rijndael, SHA, and other hash algorithms, is provided.

  • Go International!: Let Your Apps Span the Globe with Windows Forms and Visual Studio .NET
    Jason R. Bell - June 2002
    How would an English speaker feel if his car's owner's manual was written in German or if the dash board markings were written in Japanese because the car was manufactured in that country? This is an experience common to computer users all over the world who don't speak English as their primary language, and it's becomming more important. The Microsoft .NET Framework not only makes it possible to build international applications, but many of the tools such as Visual Studio .NET make it quite easy. This article looks at internationalization with .NET and presents real tools you can use to make all of your Windows Forms applications global-ready.

  • C#: XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files
    J. Andrew Schafer - June 2002
    C# allows developers to embed XML comments into their source files-a useful facility, especially when more than one programmer is working on the same code. The C# parser can expand these XML tags to provide additional information and export them to an external document for further processing. This article shows how to use XML comments and explains the relevant tags. The author demonstrates how to set up your project to export your XML comments into convenient documentation for the benefit of other developers. He also shows how to use comments to generate help files.

  • Return of the Rich Client: Code Access Security and Distribution Features in .NET Enhance Client-Side Apps
    Jason Clark - June 2002
    Rich clients employ many of the features and conveniences of the operating system they run on, and the list of these features has been growing since the dawn of the PC. But as apps have migrated to the Web, the trend towards increasing client-side functionality has ground to a virtual halt. There are several reasons for this; chief among them are security and deployment problems. But that's all about to change. With the .NET Framework, you can participate in building the distributable rich client of the future. In this article, the author enumerates the pertinent features of .NET that will allow you to build safe, easily deployable controls. The features discussed include managed code, code access security, versioning control, Windows Forms classes, and isolation.

  • The XML Files: WS-I, Exposing Stored Procedures as Web Services, and More
    Aaron Skonnard - June 2002


  • Cutting Edge: Building a Data Navigator Control, Part III
    Dino Esposito - June 2002


  • Advanced Basics: How to Use Objects
    Ken Spencer - June 2002


  • Basic Instincts: Objects and Values, Part I
    Ted Pattison - June 2002


  • Security: Unify the Role-Based Security Models for Enterprise and Application Domains with .NET
    Juval Lowy - May 2002
    Role-based security allows administrators to assign access permissions to users based on the roles they play rather than on their individual identities. These privileges can be used to control access to objects and methods, and are easier to identify and maintain than user-based security. The .NET Framework provides two role-based security models, which are exposed as two namespaces: System.Enterprise-Services and System.Security.Permissions. Presented here is a comparison of the two options and a discussion of when each is the right choice. The author also demonstrates the process involved in setting up access security and discusses role memberships.

  • Scripting: Windows Script Host 5.6 Boasts Windows XP Integration, Security, New Object Model
    Dino Esposito - May 2002
    Windows Script Host (WSH) 5.6, a major upgrade for the WSH environment, provides some significant improvements over previous versions. A brand new security model that is tightly integrated with security in Windows XP allows administrators to place fine-grained restrictions on scripts reducing the risk from malicious code. In addition, local scripts can now run on remote machines, and enhancements to the object model reduce the amount of boilerplate code needed when writing professional code. This overview of WSH 5.6 explains these changes and how .NET and scripting work together.

  • SQLXML 3.0: Build Data-Driven Web Services with Updated XML Support for SQL Server 2000
    Christian Thilmany - May 2002
    XML is becoming the ubiquitous data format on the Web, and XML support in SQL Server is evolving to meet the additional demand. Using XML, SOAP, HTTP, and SQL Server, you can now build powerful Web Services easily. To show just how simple it is with SQLXML 3.0, this article walks the reader through the process step by step, from setting up a virtual directory enabling data access via HTTP to executing queries and building Web Services. Finally, the author illustrates the creation of two Web Services clients-one with C# that works with the Microsoft .NET Framework and one with the SOAP Toolkit 2.0 for anyone still using earlier development tools.

  • ASP.NET Security: An Introductory Guide to Building and Deploying More Secure Sites with ASP.NET and IIS, Part 2
    Jeff Prosise - May 2002
    Forms authentication is one of the most compelling and useful new features of ASP.NET. It enables developers to declaratively specify which files on their site can be accessed and by whom, and allows identification of a login page. When an unauthenticated user attempts to retrieve a page protected by forms authentication, ASP.NET automatically redirects them to the login page and asks them to identify themselves. Included here is an overview of forms authentication and what you need to know to put it to work. Also included is hard-to-find information on the security of cookie authentication and on combining forms authentication with role-based URL authorizations.

  • WMI and .NET: System.Management Lets You Take Advantage of WMI APIs within Managed Code
    Zina Pozen - May 2002
    Visual Studio .NET and the Microsoft .NET Framework SDK provide a new set of APIs and tools that let you consume Windows Management Instrumentation (WMI) data and events from managed .NET applications. After presenting an overview of what's new for WMI in the .NET Framework and the Visual Studio .NET environment, the author provides an in-depth exploration of the Management Extensions in Visual Studio .NET for Server Explorer. These extensions help you develop management-aware software and come in handy in a variety of distributed application development scenarios.

  • Crystal Reports: Add Professional Quality Reports to Your Application with Visual Studio .NET
    Andrew Brust - May 2002
    Crystal Reports for Visual Studio .NET provides a comprehensive reporting solution for .NET developers that is thoroughly integrated with both the Visual Studio .NET IDE and the .NET Framework. Crystal Reports supports ADO.NET, XML Web Services, and ASP.NET server controls and caching. It also integrates seamlessly with the Visual Studio .NET Server Explorer, toolbox, and design environment. It has a rich programming model and flexible options for customizing and deploying reports. These major features and others covered here take the drudge work out of data representation in your own applications.

  • Editor's Note: Reflections on the Visual Studio .NET Launch
    - May 2002


  • The XML Files: XSLT Processing, Processing Instructions in XML, Parameterizing Statements in XML, and More
    Aaron Skonnard - May 2002


  • The ASP Column: HTTP Modules
    George Shepherd - May 2002


  • Data Points: Building a Tiered Web App Using the DataSet and the ASP DataGrid
    John Papa - May 2002


  • Cutting Edge: Building Editing Capabilities into the SqlDataNavigator ASP.NET Control
    Dino Esposito - May 2002


  • Advanced Basics: Handling Transactions Between .NET Components
    Ken Spencer - May 2002


  • Windows Forms: Developing Compelling User Controls that Target Forms in the .NET Framework
    David S. Platt - April 2002
    In the beginning, writing controls meant dealing with Windows messages. Then came Visual Basic controls, which introduced methods, properties, and events. Later, ActiveX controls, which ran atop COM, became popular. While each innovation in control writing brought more flexibility, nothing has matched the versatility of the new .NET Windows Forms controls and Web Forms controls. This article, the first of a two-part series, introduces the reader to Windows Forms, beginning with their inheritance from one of the .NET CLR base classes, which makes control creation much faster than before. Control programming is illustrated through the development of a login control. The equally flexible Web Forms controls will be covered in Part 2.

  • ASP.NET Security: An Introductory Guide to Building and Deploying More Secure Sites with ASP.NET and IIS
    Jeff Prosise - April 2002
    ASP.NET and Microsoft Internet Information Services (IIS) work together to make building secure Web sites a breeze. But to do it right, you have to know how the two interrelate and what options they provide for securing access to a Web site's resources. This article, the first in a two-part series, explains the ABCs of Web security as seen through the eyes of ASP.NET and includes a hands-on tutorial demonstrating Windows authentication and ACL authorizations. A range of security measures and authentication methods are discussed, including basic authentication, digest authentication, and role-based security.

  • Virus Hunting: Track and Report Server Attacks Quickly and Easily with the .NET Networking Classes
    G. Andrew Duthie - April 2002
    To help stop the spread of worms, viruses, and other hostile activity, it is important to track down and report the servers used in these attacks along with those used to send spam. Many Web administrators, however, don't take the time to track them because the manual process can be quite cumbersome. The Microsoft .NET Framework comes to the rescue with several networking classes, including the Dns class and the TcpClient class, that abstract away the complexity of performing DNS and WHOIS lookups. These classes make it easy to create a simple, straightforward ASP.NET-based utility for performing these lookups and automating this very important task.

  • SOAP: Using ATL Server to Build an Asynchronous SOAP Client in Unmanaged C++
    Pranish Kumar and Bogdan Crivat - April 2002
    SOAP opens up a new world of Web Services, letting you make function calls across a network or the Internet. But this flexibility creates new problems when your app needs to wait for calls to return from halfway around the world. What you need is an asynchronous SOAP client that takes advantage of threading to continue execution while waiting for calls over the wire. This article covers the basics of building such a client with ATL.

  • ASP.NET: Selectively Enable Form Validation When Using ASP.NET Web Controls
    James M. Venglarik II - April 2002
    Sometimes the extra controls that come with Visual Studio .NET can be a bit inflexible or they just don't provide enough functionality or flexibility for all situations. The ASP.NET form validation controls, while powerful and easy to use, require that the entire page be valid before it's submitted back to the server. Through the use of the new object-oriented features of Visual Basic .NET, it is possible to extend their functionality to overcome this limitation. This article tells you how and helps you decide when it's a good idea to keep validation on the client and when you'd be better off disabling it.

  • Cutting Edge: Building a DataNavigator Control
    Dino Esposito - April 2002


  • Advanced Basics: Visual Studio .NET, Debugging .NET Applications, and More
    Ken Spencer - April 2002


  • .NET Column: Run-time Serialization
    Jeffrey Richter - April 2002


  • Windows CE: Develop Handheld Apps for the .NET Compact Framework with Visual Studio .NET
    Larry Roof - March 2002
    Smart Device Extensions (SDE) for Visual Studio .NET allow programmers to develop applications for the .NET Compact Framework, a new platform that maintains many of the features of the .NET Framework in a version optimized for handheld devices. This article shows how SDE provides access through Visual Studio .NET to a variety of .NET classes for devices running Windows CE, including classes for creating user interfaces. Data access classes and Web Services for the .NET Compact Framework are also explained. Following that overview, a sample Web Service called XMLList is built. Then the UI-the XMLList client-side application-is created.

  • AOP: Aspect-Oriented Programming Enables Better Code Encapsulation and Reuse
    Dharma Shukla, Simon Fell, and Chris Sells - March 2002
    Aspect-oriented Programming (AOP), a paradigm invented at Xerox PARC in the 1990s, lets the developer better separate tasks that should not be inextricably tangled, such as mathematical operations and exception handling. The AOP approach has a number of benefits. First, it improves performance because the operations are more succinct. Second, it allows programmers to spend less time rewriting the same code. Overall, AOP enables better encapsulation of distinct procedures and promotes future interoperation.

  • .NET Web Services: Web Methods Make it Easy to Publish Your App's Interface over the Internet
    Paula Paul - March 2002
    Web Services are a great way to accept and manage contributions to a public clip art library, digital music catalog, or corporate knowledge base. Since the SOAP interface to a Web method operates over HTTP, contributors can easily publish content any time, from anywhere across the Internet. However, accepting binary content and managing content metadata through SOAP over HTTP presents Web Service developers with some interesting design decisions. This article discusses three ways to enable content publishing using Web methods.

  • The XML Files: Extending XSLT with JScript, C#, and Visual Basic .NET
    Aaron Skonnard - March 2002


  • Cutting Edge: ASP.NET Data Shaping
    Dino Esposito - March 2002


  • Advanced Basics: Visual Studio .NET: Setting Tab Order, Loading the Toolbox with an Add-in
    Ken Spencer - March 2002


  • Visual C++ .NET: Tips and Tricks to Bolster Your Managed C++ Code in Visual Studio .NET
    Tomas Restrepo - February 2002
    Developers using the Managed Extensions for C++ have more options than those using other languages because C++ is a lower-level language. However, this means an increase in code complexity. This article discusses a few of the more complex issues facing developers, such as operator overloading, managed types and unmanaged code, and boxing. Also covered are the is operator, the using statement, and string conversions. The author points out the flexibility of Managed Extensions for C++ and outlines the additional effort that is required for you to take advantage of its increased power and flexibility.

  • Visual Studio .NET: Custom Add-Ins Help You Maximize the Productivity of Visual Studio .NET
    Leo A. Notenboom - February 2002
    Regardless of how great an integrated development environment (IDE) is, there will always be features that developers wish had been included. For that reason, the Visual Studio .NET IDE provides an extensive add-in facility that allows you to add nearly unlimited numbers of features and functionalities written in Visual Basic, C, C++, C#, or any .NET-compliant language. This article explains how add-ins work in Visual Studio .NET. It then shows how to add custom text editing by creating an add-in with two editing functions, a simple text insert of the current date, and a more complex function to reformat paragraphs of text. Finally, you'll learn how to add a page to the Options dialog.

  • ASP.NET: Create Snazzy Web Charts and Graphics On the Fly with the .NET Framework
    Scott Mitchell - February 2002
    Knowledge workers can understand data more effectively when raw numbers are presented in a graphical format. This is especially true when displaying database information on a Web page, where a simple chart can make the difference between a dry presentation and a vivid data source. In the past, creating dynamic, data-based charts on the fly in ASP required purchasing a third-party, image-generating COM component. Now with ASP.NET, developers can access the .NET Framework's drawing classes directly with C# to create dynamic images and charts.

  • Still in Love with C++: Modern Language Features Enhance the Visual C++ .NET Compiler
    Stanley B. Lippman - February 2002
    Programmers who have been using C++ for years are wondering where their language is headed with the advent of C# and Microsoft .NET. This article sketches a roadmap of C++ as it is used in the world of .NET. In .NET there are two approaches to C++ code: managed and unmanaged. Unmanaged code doesn't use the CLR, while managed code involves the use of Managed Extensions for C++. This discussion explains both approaches.

  • Talking To…: Grady Booch Discusses .NET and the Art of Software Development
    - February 2002


  • Editor's Note: Welcome Visual Studio .NET
    - February 2002


  • Data Points: Establishing Relationships Between Rowsets with ADO.NET
    John Papa - February 2002


  • Cutting Edge: Data Binding Between Controls in Windows Forms
    Dino Esposito - February 2002


  • Advanced Basics: COM+ and MTS, DCOM and MSMQ, Serialization in .NET
    Ken Spencer - February 2002


  • .NET Column: Array Types in .NET
    Jeffrey Richter - February 2002


  • Office XP: Build a Custom DLL to Expose Your Objects and Services Through Smart Tag Technology
    Paul Sanna - January 2002
    Smart Tags is a new technology delivered with Office XP that makes it easy for users to complete common tasks on familiar and relevant data regardless of the application they are using. Microsoft provides tools to make it easy to roll out simple Smart Tag applications using XML as a backbone. The Smart Tag SDK provides the detail needed to build a COM automation server for Smart Tags in Visual Basic or Visual C++. This article brings the reader through the SDK to outline the process of building a Smart Tag DLL using the tag recognizer and the action provider to create customized user experiences.

  • DHTML and .NET: Host Secure, Lightweight Client-Side Controls in Microsoft Internet Explorer
    Jay Allen - January 2002
    In the past, Web developers often used ActiveX controls if they wanted customized client-side functionality incorporated into their Web applications. Now, they can build objects supported by the Microsoft .NET Framework which are more compact, lightweight, secure, and seamlessly integrated. By hosting .NET Windows Forms controls in Internet Explorer, developers can realize many of their client-side Web development goals. This article adapts ActiveX concepts for use with Windows Forms, and builds a multifile upload application that demonstrates these techniques.

  • SQL and Outlook: Enable Database Access and Updates Through Exchange and Any E-mail Client
    Alok Mehta and Daniel Williams - January 2002
    Using Microsoft technologies, you can insert, edit, query, and delete database entries using any e-mail client such as Hotmail, Outlook, Yahoo, or even WAP phone. While e-mail is certainly a powerful and widely used tool, it is usually not integrated with an application for performing any tasks other than sending reminders. The application scenario described here, an e-mail-based SQL update program, uses a simple data model; however, this solution will apply to any data model that you are working with. It will also eliminate the need for complex n-tier Internet applications and serves as a low maintenance solution for providing data access.

  • Data Points: Using the ADO.NET DataSet for Multitiered Apps
    John Papa - January 2002


  • Cutting Edge: Understanding Templates in ASP.NET
    Dino Esposito - January 2002


  • Advanced Basics: Namespaces, Cursors, ADO.NET, Web Services, Inheritance, and More
    Ken Spencer - January 2002


  • Bugslayer: Extending the Visual Studio .NET IDE
    John Robbins - January 2002


  • Security Briefs: Managed Security Context in ASP.NET
    Keith Brown - January 2002


  • ADO.NET: Building a Custom Data Provider for Use with the .NET Data Access Framework
    Bob Beauchemin - December 2001
    The System.Data.dll assembly in the .NET Framework contains namespaces whose base classes can be used to create custom data providers. These namespaces also define a number of data access interfaces and base classes that let developers create data providers that will interoperate with other custom providers. Using the ADO.NET classes Connection, Command, DataReader, and DataAdapter, writing a provider is easier than writing one for OLE DB. This article explains these classes and their implementation, and how they can be used to write a variety of different kinds of data providers.

  • Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy
    Ken Getz - December 2001
    Windows services are applications that run outside of any particular user context in Windows NT, Windows 2000, or Windows XP. The creation of services used to require expert coding skills and generally required C or C++. Visual Studio .NET now makes it easy for you to create a Windows service, whether you're writing code in C++, C#, or Visual Basic. You can also write a Windows service in any other language that targets the common language runtime. This article walks you through the creation of a useful Windows service, then demonstrates how to install, test, and debug the service.

  • The ASP Column: DataList vs. DataGrid in ASP.NET
    George Shepherd - December 2001


  • Cutting Edge: Using Session and Application Objects in ASP.NET, Part 2
    Dino Esposito - December 2001


  • Basic Instincts: Using Inheritance in the .NET World, Part 2
    Ted Pattison - December 2001


  • Under the Hood: The .NET Profiling API and the DNProfiler Tool
    Matt Pietrek - December 2001


  • .NET CLR Profiling Services: Track Your Managed Components to Boost Application Performance
    Anastasios Kasiolas - November 2001
    The Microsoft .NET platform provides you with a rich set of services for building profilers and application monitors for applications targeting the Common Language Runtime (CLR). These services expose runtime events that occur during the execution of a .NET application. They can be used to obtain information about managed code being executed under the runtime. This article describes the .NET CLR Profiling Services and shows how to use the services to build a simple profiler that will provide hot spot information for any .NET application. The sample profiler can easily be modified to suit other profiling and monitoring needs.

  • Data Points: Abstracting ADO.NET
    John Papa - November 2001


  • Cutting Edge: Using Session and Application Objects in ASP.NET
    Dino Esposito - November 2001


  • House of Web Services: Moving to .NET and Web Services
    Don Box - November 2001


  • Security Briefs: ASP.NET Security Issues
    Keith Brown - November 2001


  • Basic Instincts: Using Inheritance in the .NET World
    Ted Pattison - November 2001


  • Under the Hood: TypeRefViewer Utility Shows TypeRefs and MemberRefs in One Convenient GUI
    Matt Pietrek - November 2001


  • COM+ Integration: How .NET Enterprise Services Can Help You Build Distributed Applications
    Tim Ewald - October 2001
    The .NET Common Language Runtime (CLR) is Microsoft's next-generation component technology. The CLR is a replacement for COM, but not for COM+. COM+, now called .NET Enterprise Services, is the Microsoft object runtime environment for scalable system development. This article explains how to implement and deploy COM+ configured classes using the CLR, how to access object context and call context, and the rules for managing context-relative object references. Also discussed are ways to manage precious resources such as data connections and pooled objects, and the relationship between COM+ and the new .NET remoting architecture.

  • Cutting Edge: Build a Variety of Custom Controls Based on the DataGrid Control
    Dino Esposito - October 2001


  • Bugslayer: Handling Assertions in ASP.NET Web Apps
    John Robbins - October 2001


  • .NET Column: Extolling the Virtues of Enumerated Types
    Jeffrey Richter - October 2001


  • C# and the Web: Writing a Web Client Application with Managed Code in the Microsoft .NET Framework
    Avi Ben-Menahem - September 2001
    When the author wanted to build a middleware Web client to connect to other applications over the Internet, he realized that the XMLHttpRequest COM object was not sufficient for his purposes. In order to build a Web client using managed code, the author had to use the HTTPWebRequest and HTTPWebResponse classes provided by the Microsoft .NET framework. These classes are used in the sample project as a substitute for the less powerful XMLHttpRequest COM object, allowing the author to build a full-featured Web client. They also take advantage of all the benefits that the CLR and managed code have to offer.

  • ASP.NET: Collect Customer Order Information on an Internet Site Using XML and Web Forms
    Jeff Jorczak - September 2001
    XML has quickly become the new data structure standard for everything from database access to cross-platform computing. XML is typically considered to be a vehicle for data exchange, dynamic data presentation, and data storage. However, the potential of XML far surpasses those limited applications. This article examines one new use: the gathering of data across a number of forms in an ASP.NET Beta 1 framework application. The sample program is a Web app used for ordering pizza. It uses ASP and C# to gather order information and then stores it in XML. To build the application, several concepts are explained, including data collection, order persistence using cookies, grouping input forms, and formatting the data for display.

  • .NET Migration Case Study: Using ASP.NET to Build the beta.visualstudio.net Web Site
    Jay Schmelzer - September 2001
    When the Web site used to collect customer feedback about the Visual Studio .NET beta needed an update, the Visual Studio team saw a good opportunity to implement, deploy, and showcase a real-world site using .NET technologies. This article covers the migration of the Web site, beta.visualstudio.net, from components written in Visual Basic 6.0 and ASP hosted on Microsoft Internet Information Services (IIS) 5.0 to ASP.NET and the .NET Framework. The choices of technologies to be incorporated, along with issues such as validation, security, and authentication, are all discussed. Both existing components and the new components written in JScript and ASP.NET that were used to migrate the site are also explained.

  • The ASP Column: HTMLControls and WebControls in ASP.NET
    George Shepherd - September 2001


  • The XML Files: Writing XML Providers for Microsoft .NET
    Aaron Skonnard - September 2001


  • Cutting Edge: Reusability in ASP.NET, Part 2
    Dino Esposito - September 2001


  • Advanced Basics: Compile Options, Loading Images into PictureBoxes, Deploying .NET Apps, and More
    Ken Spencer - September 2001


  • .NET Interop: Get Ready for Microsoft .NET by Using Wrappers to Interact with COM-based Applications
    David S. Platt - August 2001
    Very soon, the development of Microsoft .NET applications will require interaction between those apps and existing COM components on both the client and the server. The .NET Framework has made provisions for this interaction by implementing various wrappers for COM objects to allow exposure of their properties and methods to .NET components. These wrappers will make it easy to make the connection between COM and .NET. After discussing wrappers, this article discusses other ways for .NET components to take part in COM+ transactions. To top off the tutorial on the interoperation of COM and .NET, the article discusses how ActiveX containers can host .NET controls, and how .NET containers can host ActiveX controls.

  • .NET Delegates: Making Asynchronous Method Calls in the .NET Environment
    Richard Grimes - August 2001
    One of the many great features of the .NET Framework is that it has asynchronous infrastructure built in. In .NET you can call any method asynchronously by defining a delegate for the method and calling the delegate's asynchronous methods. This is beneficial to your application because when a synchronous call is made, the calling thread is blocked until the method completes whereas an asynchronous call is made on a different thread, and this allows the original thread to continue its work while the asynchronous call is in progress.This article explains delegates in .NET and how to use them to perform asynchronous calls, eliminating age-old threading problems.

  • Cutting Edge: Reusability in ASP.NET: Code-behind Classes and Pagelets
    Dino Esposito - August 2001


  • .NET Column: Implementation of Events with Delegates
    Jeffrey Richter - August 2001


  • Basic Instincts: Exploiting New Language Features in Visual Basic .NET, Part 2
    Ted Pattison - August 2001


  • Basic Instincts: Exploiting New Language Features in Visual Basic .NET, Part 2
    Ted Pattison - August 2001


  • Visual Basic .NET: Tracing, Logging, and Threading Made Easy with .NET
    Yasser Shohoud - July 2001
    Visual Basic has always been a language of innovation, but at the same time it's left its proponents wanting certain high-level features. With the upcoming version, Visual Basic .NET, the language takes advantage of the Microsoft .NET Framework to provide several new features that will be vital to developers. This article begins by discussing tracing and error logging in Visual Basic .NET. Next, you'll see how to write a Windows service without third-party help. Monitoring the file system, a previously daunting task, is also covered. Finally, the author ties these concepts together with a sample application that waits for XML files to be deposited in a directory and then imports them into SQL Server database.

  • C++ -> C#: What You Need to Know to Move from C++ to C#
    Jesse Liberty - July 2001
    C# builds on the syntax and semantics of C++, allowing C programmers to take advantage of .NET and the common language runtime. While the transition from C++ to C# should be a smooth one, there are a few things to watch out for including changes to new, structs, constructors, and destructors. This article explores the language features that are new to C# such as garbage collection, properties, foreach loops, and interfaces. Following a discussion of interfaces, there's a discussion of properties, arrays, and the base class libraries. The article concludes with an exploration of asynchronous I/O, attributes and reflection, type discovery, and dynamic invocation.

  • Visual Studio .NET: Managed Extensions Bring .NET CLR Support to C++
    Chris Sells - July 2001
    If you're a longtime C++ programmer, the thought of migrating to Visual Studio .NET might make you wary at first. However, a new feature of Visual C++, the managed extensions for C++, allows you to build apps with the .NET Framework. When you use managed C++, your code is handled by the common language runtime (CLR). This provides advanced features like garbage collection, interoperability, and more. This article explains why you'd want to use the managed extensions, how to use them, how to mix managed and unmanaged code, and how your managed code can interoperate with programs written in other languages.

  • Design Patterns: Solidify Your C# Application Architecture with Design Patterns
    Samir Bajaj - July 2001
    A design pattern can solve many problems by providing a framework for building an application. Design patterns, which make the design process cleaner and more efficient, are especially well-suited for use in C# development because it is an object-oriented language. Existing design patterns make good templates for your objects, allowing you to build software faster. This article describes several popular design patterns you can use in your own applications, including the singleton, the decorator, the composite, and the state classes, which can improve the extensibility of your applications and the reuse of your objects.

  • The ASP Column: ASP.NET Connection Model and Writing Custom HTTP Handler/Response Objects
    George Shepherd - July 2001


  • The ASP Column: ASP.NET Connection Model and Writing Custom HTTP Handler/Response Objects
    George Shepherd - July 2001


  • Cutting Edge: Custom Web Data Reporting
    Dino Esposito - July 2001


  • .NET Mobile Web SDK: Build and Test Wireless Web Applications for Phones and PDAs
    Eric Griffin - June 2001
    Cell phones, PDAs, and other wireless devices that connect with the Internet enjoy growing popularity, making wireless applications more important and especially useful to companies with remote employees. This article presents an overview of the .NET Mobile Web SDK for building wireless apps. The technologies and design decisions that influence the development of mobile Web applications are discussed along with specific strategies for setting up a development environment using an emulator and building a real-world mobile Web application.

  • Cutting Edge: DataGrid In-place Editing
    Dino Esposito - June 2001


  • .NET Column: Delegates, Part 2
    Jeffrey Richter - June 2001


  • Advanced Basics: Using Inheritance in Windows Forms Applications
    Ken Spencer - June 2001


  • ASP.NET: Web Forms Let You Drag And Drop Your Way To Powerful Web Apps
    Jeff Prosise - May 2001
    Web Forms have the potential to change Web programming by introducing a new programming model built around server-side controls-a model in which controls render their own UIs by generating HTML to return to clients and firing events that are handled by server-side scripts. Since all the action takes place on the Web server, virtually any browser can run a Web Forms app. And thanks to Visual Studio .NET, building a Web Forms app is a lot like using Visual Basic: just drop a control onto a form then write an event handler. This article describes the Web Forms programming model, how it fits with ASP.NET, and introduces DataGrid, TextBox, and other classes in the .NET Framework class library.

  • Cutting Edge: Server-side ASP.NET Data Binding, Part 3: Interactive DataGrids
    Dino Esposito - May 2001


  • House of COM: Migrating Native Code to the .NET CLR
    Don Box - May 2001


  • Bugslayer: ILDASM is Your New Best Friend
    John Robbins - May 2001


  • Basic Instincts: New Features in Visual Basic .NET: Variables, Types, Arrays, and Properties
    Ted Pattison - May 2001


  • Serving the Web: Windows Forms in Visual Basic .NET
    Ken Spencer - April 2001


  • Cutting Edge: Server-side ASP.NET Data Binding, Part 2: Customizing the DataGrid Control
    Dino Esposito - April 2001


  • .NET Column: An Introduction to Delegates
    Jeffrey Richter - April 2001


  • Wicked Code: CityView App: Build Web Service Clients Quickly and Easily with C#
    Jeff Prosise - April 2001


  • Microsoft .NET: Implement a Custom Common Language Runtime Host for Your Managed App
    Steven Pratschner - March 2001
    While most application developers may not need to write a custom host, understanding what is involved provides a great deal of insight into the architecture of the CLR. After covering how the CLR is started and loaded into a process, how to set the available configuration options, and how a host defines application domains, this article explains how to design a custom host. Important concepts include making the right decisions about the application domain boundaries for the host, configuring them correctly, loading and executing user code, and resolving references to assemblies. Setting security policy and unloading application domains as the application shuts down are also explained.

  • .NET Framework: Building, Packaging, Deploying, and Administering Applications and Types-Part 2
    Jeffrey Richter - March 2001
    Part 1 of this series discussed how types built for the common language runtime can be shared among applications in the Microsoft .NET Framework regardless of the .NET languages used to build them. This second part continues with building assemblies by first covering security, sharing assemblies, versioning, localization, and side-by-side execution. Because in .NET two DLLs with the same name can be loaded as long as another attribute-which can include the localization language-differs, versioning is much easier than it used to be, so DLL Hell may become a thing of the past.

  • Cutting Edge: Server-side ASP.NET Data Binding
    Dino Esposito - March 2001


  • Visual Programmer: Advanced ASP.NET Server-side Controls, Part 2
    George Shepherd - March 2001


  • Under the Hood: Displaying Metadata in .NET EXEs with MetaViewer
    Matt Pietrek - March 2001


  • Visual Basic .NET: New Programming Model and Language Enhancements Boost Development Power
    Ted Pattison - February 2001
    Visual Basic .NET is the result of a significant rebuild of Visual Basic for the Microsoft .NET Framework. There are a number of changes that make Visual Basic .NET easier to use, more powerful than Visual Basic 6.0, and give it the kind of access to system resources that in the past required the use of languages like C++. One of the most important additions is object inheritance. In Visual Basic .NET, all managed types derive from System.Object. An important new language feature is garbage collection, which is administered by the Common Language Runtime and provides better memory management. The universal type system allows for greater interoperability, also contributing to the enhanced power and flexibility found in Visual Basic .NET.

  • Windows Forms: A Modern-Day Programming Model for Writing GUI Applications
    Jeff Prosise - February 2001
    To write GUI applications for Microsoft .NET you'll use Windows Forms. Windows Forms are a new style of application built around classes in the .NET Framework class library's System.WinForms namespace. They have a programming model all their own that is cleaner, more robust, and more consistent than models based on the Win32 API or MFC, and they run in the managed environment of the .NET Common Language Runtime (CLR). This article details what Windows Forms are all about, from the programming model to Microsoft Intermediate Language and the JIT compiler. Two applications using forms, event handlers, anchors and persistence are built step by step.

  • .NET Framework: Building, Packaging, Deploying, and Administering Applications and Types
    Jeffrey Richter - February 2001
    Types that are built for the Common Language Runtime can be shared among applications in the Microsoft .NET Framework no matter which of the .NET languages they were built in, an obvious benefit to developers. This article describes the building, packaging, and deploying of applications and types for the .NET Framework, including the role and significance of assemblies, private and otherwise. The way metadata and assemblies help to solve some historical problems like versioning conflicts and DLL Hell, and how they improve system stability are also discussed.

  • Web Services: Building Reusable Web Components with SOAP and ASP.NET
    David S. Platt - February 2001
    XML and HTTP are cross-platform technologies especially suited for building applications that can communicate with each other over the Internet, regardless of the platform they are running on. Web Services in the Microsoft .NET Framework make it easy to write components that communicate using HTTP GET, HTTP POST, and SOAP. An understanding of these concepts, along with knowledge of synchronous and asynchronous operations, security, state management, and the management of proxies by the .NET Framework is essential in building these applications. This article has been adapted from David Platt's upcoming book introducing the Microsoft .NET Platform to be published by Microsoft Press in Spring 2000.

  • Security in .NET: Enforce Code Access Rights with the Common Language Runtime
    Keith Brown - February 2001
    Component-based software is vulnerable to attack. Large numbers of DLLs that are not tightly controlled are at the heart of the problem. Code access security in the Common Language Runtime of the Microsoft .NET Framework addresses this common security hole. In this model, the CLR acts as the traffic cop to assemblies, keeping track of where they came from and what security restraints should be placed on them. Another way the .NET Framework addresses security is by providing preexisting classes which have built-in security. These are the classes that are invoked in .NET when performing risky operations such as reading and writing files, displaying dialog boxes, and so on. Of course, if a component calls unmanaged code, it can bypass code access security measures. This article covers these and other security issues.

  • .NET P2P: Writing Peer-to-Peer Networked Apps with the Microsoft .NET Framework
    Lance Olson - February 2001
    Peer-to-peer applications such as Napster, Gnutella, and Scour that communicate as peers sharing and receiving information are becoming commonplace as a means for users connected on large networks to take advantage of the vast resources available to them. The Microsoft .NET Framework provides a rich platform for building P2P apps. This article explains the concepts that make up peer-to-peer applications. The peer-to-peer application model, discovering other peers, and querying peers for information are discussed. The article goes on to cover the System.Net namespace for the use of Internet protocols, the System.Web.Services namespace for exposing Web Services, and firewall and port issues. Finally, the role of the .NET Framework in simplifying the design of powerful peer-to-peer applications is outlined.

  • Editor's Note: .NET Beta 1 Arrives
    - February 2001


  • Cutting Edge: The Component Model in ASP.NET
    Dino Esposito - February 2001


  • Bugslayer: Assertions and Tracing in .NET
    John Robbins - February 2001


  • .NET Column: Special .NET Type Members
    Jeffrey Richter - February 2001


  • XML in .NET: .NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation
    Aaron Skonnard - January 2001
    Microsoft .NET introduces a new suite of XML APIs built on industry standards such as DOM, XPath, XSD, and XSLT. The .NET Framework XML classes also include innovations that offer convenience, better performance, and a more familiar programming model, tightly coupled with the new .NET data access APIs-ADO.NET. XmlWriter, XmlReader, and XmlNavigator classes and classes that derive from them, including XMLTextReader and XMLTextWriter, encapsulate a number of functionalities that previously had to be accomplished manually. A discussion of the XMLDOM-Document is also included.

  • Visual Programmer: Advanced ASP.NET Server-side Controls
    George Shepherd - January 2001


  • Garbage Collection-Part 2: Automatic Memory Management in the Microsoft .NET Framework
    Jeffrey Richter - December 2000
    The first part of this two-part article explained how the garbage collection algorithm works, how resources can clean up properly when the garbage collector decides to free a resource's memory, and how to force an object to clean up when it is freed. The conclusion of this series explains strong and weak object references that help to manage memory for large objects, as well as object generations and how they improve performance. In addition, the use of methods and properties for controlling garbage collection, resources for monitoring collection performance, and garbage collection for multithreaded applications are covered.

  • House of COM: Is COM Dead?
    Don Box - December 2000


  • .NET Column: Type Fundamentals
    Jeffrey Richter - December 2000


  • Introducing ADO+: Data Access Services for the Microsoft .NET Framework
    Omri Gazitt - November 2000
    ADO+ is the new set of data access services for the .NET Framework. ADO+ is a natural evolution of ADO, built around n-tier development and architected with XML at its core. This article presents the design motivations behind ADO+, as well as a brief introduction to the various classes in the two layers that comprise the ADO+ framework-the connected Managed Providers and the disconnected DataSet. A drilldown into DataSets that covers populating data stores, relationships, filtering, searching and data views is provided. Finally, a discussion of the integration of ADO+ with the .NET XML Framework is presented.

  • Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework
    Jeffrey Richter - November 2000
    Garbage collection in the Microsoft .NET common language runtime environment completely absolves the developer from tracking memory usage and knowing when to free memory. However, you'll want to understand how it works. Part 1 of this two-part article on .NET garbage collection explains how resources are allocated and managed, then gives a detailed step-by-step description of how the garbage collection algorithm works. Also discussed are the way resources can clean up properly when the garbage collector decides to free a resource's memory and how to force an object to clean up when it is freed.

  • Avoiding DLL Hell: Introducing Application Metadata in the Microsoft .NET Framework
    Matt Pietrek - October 2000
    The Microsoft .NET platform uses metadata and assemblies to store information about components, enabling cross-language programming and resolving the infamous DLL Hell problem. This article describes the use of metadata for easy linking and loading of assemblies, the relationship between metadata and concepts such as IDL and type libraries, and the metadata hierarchy. The process of reading metadata from assemblies for easy versioning is also described. Although Microsoft provides the MSIL disassembler, IDLASM, and MetaInfo.exe for accessing metadata, the author provides two sample programs that read metadata using the unmanaged metadata interfaces and the Reflection API.

  • .NET Framework-Part 2: Microsoft .NET Framework Delivers the Platform for an Integrated, Service-Oriented Web
    Jeffrey Richter - October 2000
    This article completes the .NET Framework overview begun in the September issue. The common language specification and ILDasm, the MSIL disassembler, are discussed-as well as how metadata, manifests, and assemblies simplify deployment and versioning. Security, which is integral to the design of .NET, is examined extensively, followed by a walk through the development of a single assembly containing multiple files. Finally, the way managed and unmanaged code work together, and the benefits of using each, including interoperablity with unmanaged code, are described.

  • ATL Server and Visual Studio .NET: Developing High-Performance Web Applications Gets Easier
    Shaun McAravey and Ben Hickman - October 2000
    When developing high-performance applications for the Web, developers often must choose between performance and ease of development. With ATL Server, new with Visual Studio .NET, developers get the best of both worlds. ATL Server uses a tag replacement engine written in C++, provides a simple programming model, and promotes enhanced performance and easy debugging. This article presents an overview of the ATL Server architecture, then creates a basic ATL Server project. It then goes on to explain processing SRF files, HTTP streams, forms, cookies, and header files. Managing session state is also discussed, along with file uploads and performance monitoring.

  • Visual Programmer: Server-side Controls in Active Server Pages+
    George Shepherd - October 2000


  • .NET Column: Programming for the New Platform
    Jeffrey Richter - October 2000


  • Microsoft .NET Framework: Delivers the Platform for an Integrated, Service-Oriented Web
    Jeffrey Richter - September 2000
    The Microsoft .NET Framework is a new platform for building integrated, service-oriented applications to meet the needs of today's Internet businesses; apps that gather information from, and interact with, a wide variety of sources, regardless of the platforms or languages in use. This article, the first of a two part series, illustrates how the .NET Framework enables you to quickly build and deploy Web services and applications in any programming language. Microsoft Intermediate Language and JIT compiler, which make this reuse possible, are described as well as managed components, assemblies, and the Common Type System (CTS).

  • The Programmable Web: The Web Services Platform Provides Building Blocks for Seamless App Integration
    Mary Kirtland - September 2000
    Web Services are building blocks for constructing distributed Web-based applications in a platform, object model, and multilanguage manner. Web Services are based on open Internet standards, such as HTTP and XML, and form the basis of Microsoft's vision of the programmable Web. This article defines Web Services and the key enabling technologies that ensure services can be aggregated into applications. It then describes Microsoft's new Microsoft .NET Framework and its support for creating and consuming Web Services.

  • Visual Studio .NET: Build Web Applications Faster and Easier Using Web Services and XML
    Dave Mendlen - September 2000
    Visual Studio .NET includes exciting features, some of which are enhancements to previous versions and some of which are brand new. A few of the most significant additions are the new Microsoft programming language called C#; a new, smarter integrated development environment; new object-oriented features in Visual Basic .NET; and development lifecycle tools. This article provides an overview of these features, as well as a look at Web Services, Web Forms, and new versions of ADO and ASP. It takes a first look at dozens of important new Visual Studio features that aid in the design, development, testing, and deployment of solutions built with Visual Basic, C++, Visual FoxPro, and C#.

  • Sharp New Language: C# Offers the Power of C++ and Simplicity of Visual Basic
    Joshua Trupin - September 2000
    Many developers wish there was a language that was easy to write, read, and maintain like Visual Basic, but that still provided the power and flexibility of C++. For those developers, the new C# language is here. Microsoft has built C# with type-safety, garbage collection, simplified type declarations, versioning and scalability support, and lots of other features that make developing solutions faster and easier, especially for COM+ and Web Services. This article gives you a first look at C#, a language you are going to be hearing lots more about in the very near future.

  • Active Server Pages+: ASP+ Improves Web App Deployment, Scalability, Security, and Reliability
    Dave Sussman - September 2000
    ASP has been rebuilt from the ground up. The result? Active Server Pages+. ASP+, with a host of new features, provides for easier to write, cleaner code that's simple to reuse and share. ASP+ boosts performance and scalability by offering access to complied languages; development is more intuitive thanks to Web Forms; and an object-oriented foundation facilitates reuse. Other important features include page events, Web Controls, and caching. Server Controls and improvements in data binding are also new with ASP+. Libraries for use with ASP+, and the Microsoft .NET Framework which allows custom business functions to be exposed over the Web, provide more new development opportunities.

  • Editor's Note: Nothin' but .NET
    - September 2000


  • Wicked Code: Implementing Handler Marshaling Under Windows 2000: DeviceClient Sample App
    Jeff Prosise - August 2000


  • The Future of Visual Basic: Web Forms, Web Services, and Language Enhancements Slated for Next Generation
    Joshua Trupin - April 2000
    The plans for the next version of Microsoft Visual Basic include three major improvements: Web Forms, Web services, and object-oriented language enhancements. Web Forms will let veteran Visual Basic users develop Web-based applications as easily as they design standalone apps today. Through a SOAP interface, Web services will let you deploy programmable modules anywhere that can be reached by a URL. In addition, several key object-oriented language enhancements, including inheritance, polymorphism, and overloading, will make Visual Basic code as flexible as C++.

Page view tracker