<feed version="0.3" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://purl.org/atom/ns#" xml:lang="es-PY"><title>Desarrollo.NET</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/default.aspx" /><tagline type="text/html">Utilidades para el desarrollo de aplicaciones con .NET</tagline><id>http://dotnetjunkies.com/WebLog/desarrollonet/default.aspx</id><author><url>http://dotnetjunkies.com/WebLog/desarrollonet/default.aspx</url></author><generator url="http://communityserver.org" version="1.0.1.50214">Community Server</generator><modified>2004-06-02T08:54:00Z</modified><entry><title>Controles para todos los gustos</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/29/17897.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:17897</id><created>2004-06-29T14:25:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Esta es una utilidad muy interesante que puede enriquecer nuestras intefaces de usuario.&lt;BR&gt;Se tratan de controles personalizados desarrollados por empresas y por profesionales independientes basados en las necesidades m&amp;#225;s comunes y pr&amp;#225;cticas en que el usuario recibe la informaci&amp;#243;n procesada y facilitando la carga de datos.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;En los siguientes enlaces podr&amp;#225;n descargar gratuitamente una versi&amp;#243;n de evaluaci&amp;#243;n con la cual podr&amp;#225;n probarla y ver&amp;#225;n como crear&amp;#225;n interfaces m&amp;#225;s atractivas y f&amp;#225;ciles de utilizar, en menos tiempo.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.infragistic.com/download/trials.asp"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;&lt;STRONG&gt;Infragistics&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.componentone.com/Downloadcenter.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;&lt;STRONG&gt;ComponentOne&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.devexpress.com/?section=/Products/NET/ControlsInAction"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;&lt;STRONG&gt;Developer Express&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;Que los disfruten&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=17897" width="1" height="1"&gt;</content><slash:comments>4</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=17897</wfw:commentRss></entry><entry><title>Desarrollo de alta velocidad</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/29/17890.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:17890</id><created>2004-06-29T14:06:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Aprovecho esta ocasi&amp;#243;n para hablarles de los generadores de aplicaciones para .NET&lt;BR&gt;Se tratan de herramientas que con s&amp;#243;lo unas pocas instrucciones acerca de la funcionalidad de nuestro negocio desarrollan aplicaciones completas (en capas) en el lenguaje de nuestra preferencia (entre los admitidos por el NET Framework).&amp;nbsp;&lt;BR&gt;Con estos generadores reducimos en gran&amp;nbsp;medida, los tiempos de desarrollo y nos abstraemos de la complejidad del c&amp;#243;digo de nuestras aplicaciones.&amp;nbsp;&lt;BR&gt;A continuaci&amp;#243;n les paso los enlaces de 3 generadores&amp;nbsp;muy interesantes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.genexus.com/portal/hgxpp001.aspx?2,1,107,O,S,0,2"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;&lt;STRONG&gt;Genexus&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.deklarit.com/hdefault.aspx"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;&lt;STRONG&gt;Deklarit&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.techglweb.com/teros/index.html"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;&lt;STRONG&gt;Teros&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Nos vemos&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=17890" width="1" height="1"&gt;</content><slash:comments>4</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=17890</wfw:commentRss></entry><entry><title>Arquitectura de Aplicaciones de 3 capas</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/17/16855.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:16855</id><created>2004-06-17T15:37:00Z</created><content type="text/html" mode="escaped">&lt;H2 class=dtH1&gt;&lt;A name=apparchch2_section1&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;Tipos de componentes&lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;El an&amp;#225;lisis de la mayor&amp;#237;a de las soluciones empresariales basadas en modelos de componentes por capas muestra que existen varios tipos de componentes habituales. En la figura 2.1 se muestra una ilustraci&amp;#243;n completa en la que se indican estos tipos de componentes.&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE class=dtBlock&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B class=le&gt;Nota&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;El t&amp;#233;rmino &lt;I&gt;componente&lt;/I&gt; hace referencia a una de las partes de la soluci&amp;#243;n total, como los componentes de software compilado (por ejemplo, los ensamblados de Microsoft .NET) y otros elementos de software, como las p&amp;#225;ginas Web y los programas de Microsoft&amp;#174; BizTalk&amp;#174; Server Orchestration.&lt;B&gt; &lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Aunque la lista que se muestra en la figura 2.1 no es completa, representa los tipos de componentes de software m&amp;#225;s comunes encontrados en la mayor&amp;#237;a de las soluciones distribuidas. A lo largo de este cap&amp;#237;tulo describiremos en profundidad cada uno de estos tipos.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=fig&gt;&lt;FONT face=Verdana size=2&gt;&lt;IMG height=410 alt="" src="http://www.microsoft.com/spanish/msdn/arquitectura/das/images/f02aa01.gif" width=319 border=0&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=label&gt;&lt;B&gt;&lt;FONT face=Verdana size=2&gt;Figura 2.1. Tipos de componentes utilizados en el escenario comercial de ejemplo&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Los tipos de componentes identificados en el escenario de dise&amp;#241;o de ejemplo son: &lt;/FONT&gt;
&lt;OL type=1&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Componentes de interfaz de usuario (IU)&lt;/B&gt;. La mayor parte de las soluciones necesitan ofrecer al usuario un modo de interactuar con la aplicaci&amp;#243;n. En el ejemplo de aplicaci&amp;#243;n comercial, un sitio Web permite al cliente ver productos y realizar pedidos, y una aplicaci&amp;#243;n basada en el entorno operativo Microsoft Windows&amp;#174; permite a los representantes de ventas escribir los datos de los pedidos de los clientes que han telefoneado a la empresa. Las interfaces de usuario se implementan utilizando formularios de Windows Forms, p&amp;#225;ginas Microsoft ASP.NET, controles u otro tipo de tecnolog&amp;#237;a que permita procesar y dar formato a los datos de los usuarios, as&amp;#237; como adquirir y validar los datos entrantes procedentes de &amp;#233;stos. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Componentes de proceso de usuario&lt;/B&gt;. En un gran n&amp;#250;mero de casos, la interactuaci&amp;#243;n del usuario con el sistema se realiza de acuerdo a un proceso predecible. Por ejemplo, en la aplicaci&amp;#243;n comercial, podr&amp;#237;amos implementar un procedimiento que permita ver los datos del producto. De este modo, el usuario puede seleccionar una categor&amp;#237;a de una lista de categor&amp;#237;as de productos disponibles y, a continuaci&amp;#243;n, elegir uno de los productos de la categor&amp;#237;a seleccionada para ver los detalles correspondientes. Del mismo modo, cuando el usuario realiza una compra, la interactuaci&amp;#243;n sigue un proceso predecible de recolecci&amp;#243;n de datos por parte del usuario, por el cual &amp;#233;ste en primer lugar proporciona los detalles de los productos que desea adquirir, a continuaci&amp;#243;n los detalles de pago y, por &amp;#250;ltimo, la informaci&amp;#243;n para el env&amp;#237;o. Para facilitar la sincronizaci&amp;#243;n y organizaci&amp;#243;n de las interactuaciones con el usuario, resulta &amp;#250;til utilizar componentes de proceso de usuario individuales. De este modo, el flujo del proceso y la l&amp;#243;gica de administraci&amp;#243;n de estado no se incluye en el c&amp;#243;digo de los elementos de la interfaz de usuario, por lo que varias interfaces podr&amp;#225;n utilizar el mismo "motor" de interactuaci&amp;#243;n b&amp;#225;sica. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Flujos de trabajo empresariales&lt;/B&gt;. Una vez que el proceso de usuario ha recopilado los datos necesarios, &amp;#233;stos se pueden utilizar para realizar un proceso empresarial. Por ejemplo, tras enviar los detalles del producto, el pago y el env&amp;#237;o a la aplicaci&amp;#243;n comercial, puede comenzar el proceso de cobro del pago y preparaci&amp;#243;n del env&amp;#237;o. Gran parte de los procesos empresariales conllevan la realizaci&amp;#243;n de varios pasos, los cuales se deben organizar y llevar a acabo en un orden determinado. Por ejemplo, el sistema empresarial necesita calcular el valor total del pedido, validar la informaci&amp;#243;n de la tarjeta de cr&amp;#233;dito, procesar el pago de la misma y preparar el env&amp;#237;o del producto. El tiempo que este proceso puede tardar en completarse es indeterminado, por lo que ser&amp;#237;a preciso administrar las tareas necesarias, as&amp;#237; como los datos requeridos para llevarlas a cabo. Los flujos de trabajo empresariales definen y coordinan los procesos empresariales de varios pasos de ejecuci&amp;#243;n larga y se pueden implementar utilizando herramientas de administraci&amp;#243;n de procesos empresariales, como BizTalk Server Orchestration. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Componentes empresariales&lt;/B&gt;. Independientemente de si el proceso empresarial consta de un &amp;#250;nico paso o de un flujo de trabajo organizado, la aplicaci&amp;#243;n requerir&amp;#225; probablemente el uso de componentes que implementen reglas empresariales y realicen tareas empresariales. Por ejemplo, en la aplicaci&amp;#243;n comercial, deber&amp;#225; implementar una funcionalidad que calcule el precio total del pedido y agregue el costo adicional correspondiente por el env&amp;#237;o del mismo. Los componentes empresariales implementan la l&amp;#243;gica empresarial de la aplicaci&amp;#243;n. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Agentes de servicios&lt;/B&gt;. Cuando un componente empresarial requiere el uso de la funcionalidad proporcionada por un servicio externo, tal vez sea necesario hacer uso de c&amp;#243;digo para administrar la sem&amp;#225;ntica de la comunicaci&amp;#243;n con dicho servicio. Por ejemplo, los componentes empresariales de la aplicaci&amp;#243;n comercial descrita anteriormente podr&amp;#237;a utilizar un agente de servicios para administrar la comunicaci&amp;#243;n con el servicio de autorizaci&amp;#243;n de tarjetas de cr&amp;#233;dito y utilizar un segundo agente de servicios para controlar las conversaciones con el servicio de mensajer&amp;#237;a. Los agentes de servicios permiten aislar las idiosincrasias de las llamadas a varios servicios desde la aplicaci&amp;#243;n y pueden proporcionar servicios adicionales, como la asignaci&amp;#243;n b&amp;#225;sica del formato de los datos que expone el servicio al formato que requiere la aplicaci&amp;#243;n. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Interfaces de servicios&lt;/B&gt;. Para exponer l&amp;#243;gica empresarial como un servicio, es necesario crear interfaces de servicios que admitan los contratos de comunicaci&amp;#243;n (comunicaci&amp;#243;n basada en mensajes, formatos, protocolos, seguridad y excepciones, entre otros) que requieren los clientes. Por ejemplo, el servicio de autorizaci&amp;#243;n de tarjetas de cr&amp;#233;dito debe exponer una interfaz de servicios que describa la funcionalidad que ofrece el servicio, as&amp;#237; como la sem&amp;#225;ntica de comunicaci&amp;#243;n requerida para llamar al mismo. Las interfaces de servicios tambi&amp;#233;n se denominan &lt;I&gt;fachadas empresariales&lt;/I&gt;. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Componentes l&amp;#243;gicos de acceso a datos&lt;/B&gt;. La mayor&amp;#237;a de las aplicaciones y servicios necesitan obtener acceso a un almac&amp;#233;n de datos en un momento determinado del proceso empresarial. Por ejemplo, la aplicaci&amp;#243;n empresarial necesita recuperar los datos de los productos de una base de datos para mostrar al usuario los detalles de los mismos, as&amp;#237; como insertar dicha informaci&amp;#243;n en la base de datos cuando un usuario realiza un pedido. Por tanto, es razonable abstraer la l&amp;#243;gica necesaria para obtener acceso a los datos en un capa independiente de componentes l&amp;#243;gicos de acceso a datos, ya que de este modo se centraliza la funcionalidad de acceso a datos y se facilita la configuraci&amp;#243;n y el mantenimiento de la misma. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Componentes de entidad empresarial&lt;/B&gt;. La mayor&amp;#237;a de la aplicaciones requieren el paso de datos entre distintos componentes. Por ejemplo, en la aplicaci&amp;#243;n comercial es necesario pasar una lista de productos de los componentes l&amp;#243;gicos de acceso a datos a los componentes de la interfaz de usuario para que &amp;#233;ste pueda visualizar dicha lista. Los datos se utilizan para representar entidades empresariales del mundo real, como productos o pedidos. Las entidades empresariales que se utilizan de forma interna en la aplicaci&amp;#243;n suelen ser estructuras de datos, como conjuntos de datos, DataReader o secuencias de lenguaje de marcado extensible (XML), aunque tambi&amp;#233;n se pueden implementar utilizando clases orientadas a objetos personalizadas que representan entidades del mundo real necesarias para la aplicaci&amp;#243;n, como productos o pedidos. &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;B&gt;Componentes de seguridad, administraci&amp;#243;n operativa y comunicaci&amp;#243;n&lt;/B&gt;. La aplicaci&amp;#243;n probablemente utilice tambi&amp;#233;n componentes para realizar la administraci&amp;#243;n de excepciones, autorizar a los usuarios a que realicen tareas determinadas y comunicarse con otros servicios y aplicaciones. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;A href="http://www.microsoft.com/spanish/msdn/arquitectura/das/guias/AppArchCh2.asp"&gt;MSDN Arquitectura&lt;/A&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=16855" width="1" height="1"&gt;</content><slash:comments>5</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=16855</wfw:commentRss></entry><entry><title>Utilidades y Trucos para ASP.NET</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/15/16579.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:16579</id><created>2004-06-15T13:10:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Esta es una nueva secci&amp;#243;n de nuestro blog destinada a hacer conocer trucos y art&amp;#237;culos de varios desarrolladores a nivel mundial que compartieron su experiencia para ayudarnos a sacarle provecho a la plataforma .NET&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Mil gracias a los autores de estos trucos !!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;A href="http://www.microsoft.com/spanish/msdn/articulos/archivo/251002/voices/SecurityTips_default.asp"&gt;&lt;FONT color=#0000ff&gt;Diez principales sugerencias sobre seguridad que todo programador debe conocer&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;A href="http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art120.asp"&gt;&lt;FONT color=#0000ff&gt;&amp;#191;MsgBox en ASP.NET?&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;A href="http://www.elguille.info/colabora/puntoNET/miliuco_datagridxml.htm"&gt;&lt;FONT color=#0000ff&gt;Archivo XML como origen de datos de un DataGrid editable&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;A href="http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art39.asp"&gt;&lt;FONT color=#0000ff&gt;&amp;#191;C&amp;#243;mo enviar un correo electr&amp;#243;nico por medio de ASP.NET?&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vsintro7/html/vbcondeploymentovernetwork.asp"&gt;&lt;FONT color=#0000ff&gt;&amp;#191;C&amp;#243;mo crear un programa de instalaci&amp;#243;n para la implementaci&amp;#243;n de una&amp;nbsp;Aplicaci&amp;#243;n&amp;nbsp;Web?&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Nos vemos&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=16579" width="1" height="1"&gt;</content><slash:comments>5</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=16579</wfw:commentRss></entry><entry><title>Consejos para el uso del ConnectionString</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/14/16494.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:16494</id><created>2004-06-14T15:42:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Este art&amp;#237;culo describe un consejo sobre los connectionString &amp;#250;til para no tener que repetir la cadena de conexi&amp;#243;n de todas las partes del c&amp;#243;digo que accedan a la base de datos.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;En el archivo .config de toda aplicaci&amp;#243;n .NET se pueden guardar constantes, muy utilizadas para este fin. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a52a2a&gt;appSettings&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a52a2a&gt;add&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;&lt;FONT color=#ff0000&gt;key&lt;/FONT&gt;="ConnStr" &lt;FONT color=#ff0000&gt;value&lt;/FONT&gt;="data source=EQUIPO1;database=pubs;Trusted_Connection=yes"&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;/&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a52a2a&gt;appSettings&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Luego, en el c&amp;#243;digo hacemos referencia al connectionString de la siguiente manera.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;FONT color=#808080&gt;[C#]&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System.Configuration;&lt;BR&gt;...&lt;BR&gt;SqlConnection myConnection = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);&lt;BR&gt;...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;FONT color=#808080&gt;[Visual Basic]&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;Imports&lt;/FONT&gt; System.Configuration;&lt;BR&gt;...&lt;BR&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; myConnection &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; SqlConnection&lt;BR&gt;myConnection = &lt;FONT color=#0000ff&gt;New &lt;/FONT&gt;SqlConnection(ConfigurationSettings.AppSettings["ConnStr"])&lt;BR&gt;...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;De esta manera evitamos repetir el c&amp;#243;digo del connectionString innecesariamente.&lt;BR&gt;Les paso un link sumamente interesante donde podr&amp;#225;n encontrar prototipos para los ConnectionString de cualquier origen de datos. La direcci&amp;#243;n es &lt;A href="http://www.connnectionstrings.com"&gt;&lt;STRONG&gt;http://www.connnectionstrings.com&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Nos vemos&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;/STRONG&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=16494" width="1" height="1"&gt;</content><slash:comments>3</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=16494</wfw:commentRss></entry><entry><title>Bloque de la aplicación de acceso a datos </title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/10/16130.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:16130</id><created>2004-06-10T14:53:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Introducci&amp;#243;n&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;El Bloque de la aplicaci&amp;#243;n de acceso a datos de Microsoft para .NET consiste en un ensamblado &amp;#250;nico basado en .NET, el cual contiene toda la funcionalidad necesaria para realizar las tareas m&amp;#225;s comunes de acceso a datos contra una base de datos Microsoft SQL Server 2000 Espec&amp;#237;ficamente, el Bloque de la aplicaci&amp;#243;n de acceso a datos le ayuda a: &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&amp;#8226;&amp;nbsp;Invocar los procedimientos almacenados o los comandos de texto SQL. - Especificar los detalles de los par&amp;#225;metros. &lt;BR&gt;&amp;#8226;&amp;nbsp;Devolver los objetos SqlDataReader, DataSet, XmlReader o los valores &amp;#250;nicos. &lt;BR&gt;&lt;BR&gt;Para cumplir esas necesidades, los dise&amp;#241;adores del Bloque de la aplicaci&amp;#243;n de acceso a datos tomaron la decisi&amp;#243;n de crear dos clases; la clase SqlHelper y la clase SqlHelperParameterCache.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Principales elementos del DAAB&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;La clase SqlHelper proporciona un conjunto de m&amp;#233;todos est&amp;#225;ticos que puede utilizar para ejecutar varios tipos de comandos diferentes contra una base de datos SQL Server. M&amp;#233;todos de la clase SqlHelper &lt;BR&gt;&lt;BR&gt;&amp;#8226;&amp;nbsp;ExecuteNonQuery. Este m&amp;#233;todo se utiliza para ejecutar los comandos que no devuelven filas o valores. Por lo general se utilizan para realizar actualizaciones a las bases de datos, pero tambi&amp;#233;n se pueden utilizar para devolver los par&amp;#225;metros de salida de los procedimientos almacenados. &lt;BR&gt;&amp;#8226;&amp;nbsp;ExecuteReader. Este m&amp;#233;todo se utiliza para devolver un objeto SqlDataReader que contenga el conjunto de resultados devueltos por un comando. &lt;BR&gt;&amp;#8226;&amp;nbsp;FillDataset. Este m&amp;#233;todo llena un objeto DataSet, es similar a ExecuteDataset. &lt;BR&gt;&amp;#8226;&amp;nbsp;UpdateDataset. Este m&amp;#233;todo actualiza un objeto DataSet contra la base de datos. &lt;BR&gt;&amp;#8226;&amp;nbsp;ExecuteDataset. Este m&amp;#233;todo devuelve un objeto DataSet que contiene el conjunto de resultados devueltos por un comando. &lt;BR&gt;&amp;#8226;&amp;nbsp;ExecuteScalar. Este m&amp;#233;todo devuelve un valor &amp;#250;nico. El valor es siempre la primera columna de la primera fila devuelta por el comando. &lt;BR&gt;&amp;#8226;&amp;nbsp;ExecuteXmlReader Este m&amp;#233;todo devuelve un fragmento XML desde una consulta FOR XML. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;La clase SqlHelperParameterCache proporciona la funcionalidad de memoria cach&amp;#233; del par&amp;#225;metro de comandos que se utiliza para mejorar el rendimiento. Esto lo utilizan internamente varios m&amp;#233;todos Execute (espec&amp;#237;ficamente, las sobrecargas que se han dise&amp;#241;ado para ejecutar s&amp;#243;lo los procedimientos almacenados). Tambi&amp;#233;n puede ser utilizado directamente por el cliente de acceso a datos para copiar en la memoria cach&amp;#233; los conjuntos espec&amp;#237;ficos de par&amp;#225;metros para los comandos espec&amp;#237;ficos. &lt;BR&gt;&lt;BR&gt;&amp;#8226;&amp;nbsp;CacheParameterSet. Se utiliza para almacenar un arreglo de SqlParameters en la memoria cach&amp;#233;. &lt;BR&gt;&amp;#8226;&amp;nbsp;GetCachedParameterSet. Se utiliza para recuperar una copia de un arreglo de par&amp;#225;metros en la memoria cach&amp;#233;. &lt;BR&gt;&amp;#8226;&amp;nbsp;GetSpParameterSet. Un m&amp;#233;todo sobrecargado que se utiliza para recuperar los par&amp;#225;metros apropiados para un procedimiento almacenado espec&amp;#237;fico al consultar una vez la base de datos, y luego colocar en la memoria cach&amp;#233; los resultados para las consultas futuras.&lt;BR&gt;&lt;BR&gt;Esto es s&amp;#243;lo un breve pantallazo. Encontrar&amp;#225;n much&amp;#237;sima informaci&amp;#243;n adicional en MSDN Library y en la documentaci&amp;#243;n que incluye la instalaci&amp;#243;n de este Bloque de Aplicaci&amp;#243;n.&lt;BR&gt;Para ir a la p&amp;#225;gina de descarga haz clic &lt;STRONG&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&amp;amp;displaylang=en"&gt;&lt;FONT color=#0000ff&gt;aqui&lt;/FONT&gt;&lt;/A&gt;&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Bibliograf&amp;#237;a &lt;BR&gt;&lt;/STRONG&gt;&lt;A href="http://www.msdn.microsoft.com/practices"&gt;&lt;STRONG&gt;Data Access Application Block for .NET&lt;BR&gt;&lt;/STRONG&gt;&lt;STRONG&gt;Patterns &amp;amp; Practices&lt;/STRONG&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;/STRONG&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=16130" width="1" height="1"&gt;</content><slash:comments>5</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=16130</wfw:commentRss></entry><entry><title>Kit de Recursos ASP.NET</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/09/15928.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15928</id><created>2004-06-09T08:12:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;El Kit de Recursos ASP.NET es una herramienta muy &amp;#250;til para los desarrolladores de aplicaciones web con ASP.NET ya que contiene gu&amp;#237;as paso a paso (para todos los niveles), ejemplos de c&amp;#243;digo, art&amp;#237;culos t&amp;#233;cnicos, controles personalizados gratuitos, y mucha documentaci&amp;#243;n sobre las tareas comunes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Para ir a la p&amp;#225;gina de descarga haz clic &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=aef6aa76-ab88-4264-87b4-8e946ef584d7&amp;amp;DisplayLang=en"&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;aqui&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;/STRONG&gt;&lt;BR&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;rgz@rieder.net.py&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15928" width="1" height="1"&gt;</content><slash:comments>4</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15928</wfw:commentRss></entry><entry><title>Revista DOTNETMANIA</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/08/15767.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15767</id><created>2004-06-08T06:27:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Para quienes no conozcan la revista espa&amp;#241;ola &lt;STRONG&gt;DOTNETMANIA&lt;/STRONG&gt;, les cuento que es una de las mejores en cuanto a la calidad de sus art&amp;#237;culos t&amp;#233;cnicos en espa&amp;#241;ol. &lt;BR&gt;Con un grupo de desarrolladores estamos en contacto con dicha revista en pos de conseguir suscribirnos, aunque por ahora el precio hace que escape de nuestro alcance. Esperamos contar con varios desarrolladores y as&amp;#237; llegar a un acuerdo de "paquete".&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Para ver el primer n&amp;#250;mero de la revista en formato pdf hac&amp;#233; clic &lt;A href="http://www.dotnetmania.com/Articulos/001/dnm01.pdf"&gt;&lt;STRONG&gt;aqui&lt;/STRONG&gt;&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Nos vemos&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;Rodrigo Guti&amp;#233;rrez&lt;/STRONG&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15767" width="1" height="1"&gt;</content><slash:comments>5</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15767</wfw:commentRss></entry><entry><title>Guía de Autenticación para ASP.NET</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/07/15654.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15654</id><created>2004-06-07T08:04:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Hola, en esta oportunidad les quiero presentar una gu&amp;#237;a para la elecci&amp;#243;n del modo de autenticaci&amp;#243;n en ASP.NET. &lt;BR&gt;Es bastante simple, s&amp;#243;lo deben seguir las intrucciones del gr&amp;#225;fico.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana&gt;
&lt;H2&gt;&lt;FONT color=#000080 size=2&gt;Escenarios de Internet&lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;FONT size=1&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;IMG height=251 src="http://www.microsoft.com/Spanish/msdn/arquitectura/BuildSecNetApps/html/images/03SecurityGuide4.gif" width=272&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#000080 size=2&gt;Escenarios de intranet y extranet&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;IMG height=532 src="http://www.microsoft.com/Spanish/msdn/arquitectura/BuildSecNetApps/html/images/03SecurityGuide5.gif" width=540&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;MSDN Espa&amp;#241;a&lt;BR&gt;&lt;A href="http://www.microsoft.com/Spanish/msdn/arquitectura/BuildSecNetApps/html/SecurityGuide_Chapter03.asp"&gt;&lt;FONT color=#0000ff size=1&gt;http://www.microsoft.com/Spanish/msdn/arquitectura/BuildSecNetApps/html/SecurityGuide_Chapter03.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15654" width="1" height="1"&gt;</content><slash:comments>5</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15654</wfw:commentRss></entry><entry><title>MSDN Library en español</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/05/15545.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15545</id><created>2004-06-05T09:34:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Finalmente est&amp;#225; disponible la biblioteca de MSDN en espa&amp;#241;ol. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/SPA/"&gt;&lt;FONT face=Verdana color=#0000ff size=2&gt;http://msdn.microsoft.com/library/SPA/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Que lo disfruten!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-family: 'Arial Unicode MS'"&gt;Rodrigo Guti&amp;#233;rrez&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;rgz@rieder.net.py&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15545" width="1" height="1"&gt;</content><slash:comments>5</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15545</wfw:commentRss></entry><entry><title>Expresiones Regulares de Validación</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/05/15544.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15544</id><created>2004-06-05T09:30:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;#191;Alguna vez necesitaste alg&amp;#250;n formato de validaci&amp;#243;n com&amp;#250;n que no se encuentra entre las opciones por defecto del RegularExpresionValidator?&lt;BR&gt;Si es as&amp;#237; quisiera recomendarte dos sitios donde se publican gratuitamente expresiones regulares para que puedas usarlas en tu control de Validaci&amp;#243;n.&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://www.regexlib.com/DisplayPatterns.aspx"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Regular Expresion Lybrary&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;/A&gt;(&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Sitio del cual puedes utilizar los ejemplos de expresiones regulares publicados&lt;/SPAN&gt;&lt;/EM&gt;) &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: navy; FONT-FAMILY: Verdana"&gt;Ingl&amp;#233;s&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art101.asp"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Expresiones Regulares en .NET&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;/A&gt;(&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Art&amp;#237;culo que explica c&amp;#243;mo construir expresiones regulares&lt;/SPAN&gt;&lt;/EM&gt;) &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: darkgreen; FONT-FAMILY: Verdana"&gt;Espa&amp;#241;ol&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Si tienes alguna duda sobre las Validaciones o sobre las expresiones regulares, no dudes en consultarme.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-family: 'Arial Unicode MS'"&gt;Rodrigo Guti&amp;#233;rrez&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;A href="mailto:rgz@rieder.net.py"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;rgz@rieder.net.py&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15544" width="1" height="1"&gt;</content><slash:comments>1</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15544</wfw:commentRss></entry><entry><title>Aplicaciones ASP.NET de alto rendimiento</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/05/15542.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15542</id><created>2004-06-05T09:26:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Hoy comenzaremos una secci&amp;#243;n muy interesante para los desarrolladores de ASP.NET ya que estas recomendaciones aumentan el rendimiento de nuestras aplicaciones web.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;BR&gt;&lt;STRONG&gt;Deshabilite el estado de la sesi&amp;#243;n cuando no lo utilice.&lt;/STRONG&gt; No todas las aplicaciones o p&amp;#225;ginas requieren un estado de sesi&amp;#243;n por cada usuario y, en ese caso, debe deshabilitarse.&lt;BR&gt;Para deshabilitar el estado de sesi&amp;#243;n de una p&amp;#225;gina, establezca false en el atributo EnableSessionState de la directiva @ Page. Por ejemplo, &amp;lt;%@ Page EnableSessionState="false" %&amp;gt;.&lt;BR&gt;Para deshabilitar el estado de sesi&amp;#243;n para una aplicaci&amp;#243;n, establezca off en el atributo mode de la secci&amp;#243;n de configuraci&amp;#243;n sessionstate del archivo Web.config de la aplicaci&amp;#243;n. Por ejemplo, &amp;lt;sessionstate mode="off" /&amp;gt;.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Aseg&amp;#250;rese de deshabilitar el modo de depuraci&amp;#243;n.&lt;/STRONG&gt; Recuerde siempre deshabilitar el modo de depuraci&amp;#243;n antes de implementar una aplicaci&amp;#243;n de producci&amp;#243;n o realizar cualquier medida del rendimiento. Cuando el modo de depuraci&amp;#243;n est&amp;#225; habilitado, el rendimiento de la aplicaci&amp;#243;n se ve muy reducido.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Utilice procedimientos almacenados de SQL Server para el acceso a datos.&lt;/STRONG&gt; De todos los m&amp;#233;todos de acceso a datos que ofrece .NET Framework, el basado en SQL Server es el m&amp;#225;s recomendable para crear aplicaciones Web escalables de alto rendimiento. Cuando utilice el proveedor de SQL Server administrado, el rendimiento mejorar&amp;#225; a&amp;#250;n m&amp;#225;s si emplea procedimientos almacenados compilados en lugar de consultas ad hoc.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Utilice los controles de servidor ASP.NET en las circunstancias adecuadas.&lt;/STRONG&gt; Revise el c&amp;#243;digo de la aplicaci&amp;#243;n para asegurarse de que el uso de controles de servidor de ASP.NET siempre es necesario. A pesar de su extremada facilidad de uso, los controles de servidor no son siempre la mejor opci&amp;#243;n para realizar una tarea, ya que utilizan recursos del servidor. En muchos casos podr&amp;#225;n sustituirse por un simple procesamiento o enlace de datos. El ejemplo siguiente muestra una situaci&amp;#243;n en la que el uso de un control de servidor no es el modo m&amp;#225;s eficaz de sustituir los valores del c&amp;#243;digo HTML enviado al cliente. Cada m&amp;#233;todo env&amp;#237;a la ruta de acceso a una imagen que mostrar&amp;#225; el explorador, pero el uso de controles de servidor no es el enfoque m&amp;#225;s adecuado, ya que el evento Page_Load requiere una llamada al servidor para su procesamiento. En su lugar, utilice instrucciones de proceso o expresiones de enlace de datos.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Utilice Page.IsPostBack para evitar procesamiento innecesario en los viajes de ida y vuelta.&lt;/STRONG&gt; Si escribe c&amp;#243;digo para administrar el procesamiento de la respuesta de un control de servidor, en algunas ocasiones es conveniente que la primera vez que se solicita la p&amp;#225;gina se ejecute un c&amp;#243;digo distinto del que se ejecuta cuando un usuario env&amp;#237;a un formulario HTML contenido en la p&amp;#225;gina. La propiedad Page.IsPostBack permite ejecutar c&amp;#243;digo condicionalmente en funci&amp;#243;n de si la p&amp;#225;gina se genera como respuesta a un evento de un control de servidor.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;MSDN Library&lt;/STRONG&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconDevelopingHigh-PerformanceASPNETApplications.asp"&gt;High Performance ASP.NET&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15542" width="1" height="1"&gt;</content><slash:comments>4</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15542</wfw:commentRss></entry><entry><title>Bloques de Aplicación para .NET</title><link rel="alternate" type="text/html" href="http://dotnetjunkies.com/WebLog/desarrollonet/archive/2004/06/02/15130.aspx" /><id>58df7014-fd75-437c-9641-150997716d1c:15130</id><created>2004-06-02T08:54:00Z</created><content type="text/html" mode="escaped">&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;Esta es una lista de los Application Blocks disponibles hoy en d&amp;#237;a para bajar&amp;nbsp;y agregarlos a nuestras aplicaciones .NET&lt;BR&gt;Proximamente estaremos publicando m&amp;#225;s en detalle acerca de su uso. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BA983AD5-E74F-4BE9-B146-9D2D2C6F8E81&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Authorization Profile Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BD864EB5-56B3-43A5-A964-6F23566DF0AB&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Smart Client Offline Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=98C6CC9D-88E1-4490-8BD6-78092A0F084E&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;User Interface Process Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9058F345-E5FE-42FC-B40B-14EBDD182F48&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Agregation Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=794EC811-B5EA-46AE-BAA4-69A3DEADD38E&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Asynchronous Invocation Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B55164C9-94C8-4077-AA29-AFE4074746DE&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Caching Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Data Access Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=8CA8EB6E-6F4A-43DF-ADEB-8F22CA173E02"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Exception Management Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=24F61845-E56C-42D6-BBD5-29F0D5CD7F65&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Loggin Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=85CB1C53-8CA7-4A92-85E3-E4795BD27FEB&amp;amp;displaylang=en"&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt;Configuration Management Application Block&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB&gt;&lt;FONT face=Verdana size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C17F3A-D957-4B17-9B97-296FB4927C30&amp;amp;displaylang=en"&gt;&lt;FONT face=Verdana size=2&gt;Updater Application Block&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;Haz clic en el nombre del Application Block&amp;nbsp;de tu preferencia&amp;nbsp;para ir a la p&amp;#225;gina de descarga.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;Nos vemos &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;&lt;SPAN&gt;Rodrigo Guti&amp;#233;rrez&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://dotnetjunkies.com/WebLog/desarrollonet/admin/mailtrgz@rieder.net.py"&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;rgz@rieder.net.py&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face="Arial Unicode MS"&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://dotnetjunkies.com/WebLog/aggbug.aspx?PostID=15130" width="1" height="1"&gt;</content><slash:comments>3</slash:comments><wfw:commentRss>http://dotnetjunkies.com/WebLog/desarrollonet/commentrss.aspx?PostID=15130</wfw:commentRss></entry></feed>