<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Un paseo por las nubes</title><link>http://geeks.ms/blogs/davidjrh/default.aspx</link><description>Un blog acerca de Cloud Computing...</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Windows Azure: disponibilidad general de Infraestructura como Servicio (IaaS)</title><link>http://geeks.ms/blogs/davidjrh/archive/2013/04/16/windows-azure-disponibilidad-general-de-infraestructura-como-servicio-iaas.aspx</link><pubDate>Tue, 16 Apr 2013 15:19:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:209192</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=209192</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2013/04/16/windows-azure-disponibilidad-general-de-infraestructura-como-servicio-iaas.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_12.png"&gt;&lt;img height="163" width="131" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_thumb_5F00_5.png" align="right" alt="image" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="image" /&gt;&lt;/a&gt;Uno de los acr&amp;oacute;nimos que m&amp;aacute;s est&amp;aacute; de moda en nuestros mundos de Azure es del de &amp;ldquo;GA&amp;rdquo;, que significa el cambio de un servicio en modo &amp;ldquo;Preview&amp;rdquo; a disponibilidad general (del ingl&amp;eacute;s General Availability), pasando de ser un servicio con soporte limitado a un producto totalmente soportado, con sus SLAs, precios definitivos, etc. Pues hoy es uno de esos d&amp;iacute;as en los que oyes por ah&amp;iacute;: &amp;iexcl;Hey, que Windows Azure IaaS es ahora GA!&lt;/p&gt;
&lt;p&gt;Y es que tambi&amp;eacute;n es normal encontrarnos con alguna sorpresa cuando un producto pasa a ser GA, normalmente como &amp;ldquo;regalito&amp;rdquo; que acompa&amp;ntilde;a el lanzamiento. Lo que era menos de esperar era que esos anuncios incluyeran co-lateralmente mejoras en precios en otros servicios como cloud services. &amp;iquest;M&amp;aacute;s barato? Oh yeah!&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; pod&amp;eacute;is ver en detalle el &lt;a target="_blank" href="http://weblogs.asp.net/scottgu/archive/2013/04/16/windows-azure-general-availability-of-infrastructure-as-a-service-iaas.aspx"&gt;anuncio de Scott Guthrie en su blog&lt;/a&gt; con todo lujo de detalles. No voy a copiar aqu&amp;iacute; todos ellos, sino que voy a hacer incidencia en lo que me parecen los 3 grandes noticiones de esta puesta en marcha de IaaS en Windows Azure.&lt;/p&gt;
&lt;h3&gt;Nuevas plantillas de VM&lt;/h3&gt;
&lt;p&gt;Una de las grandes novedades es que a partir de ahora ya puedes desplegar una m&amp;aacute;quina con SQL Server, BizTalk Server o Sharepoint sin tener que hacer frente al pago de la licencia completa del software de servidor, sino que continuando con el modelo de pago por uso, existe la modalidad del pago de un sobrecoste adicional al precio de hora est&amp;aacute;ndar de computaci&amp;oacute;n. Hora que usas, hora que pagas. No lo usas, no lo pagas. F&amp;aacute;cil. &lt;/p&gt;
&lt;p&gt;En el caso de SQL Server, nos encontraremos con plantillas de SQL Server 2012 Standard y Enterprise desplegados sobre Windows Server 2008. Si bien ya hay precio para la edici&amp;oacute;n Web, no hay plantilla para desplegarlo. &lt;/p&gt;
&lt;p&gt;Para BizTalk tambi&amp;eacute;n encontraremos plantillas para las ediciones de evaluaci&amp;oacute;n, la Standard y Enterprise. Para el caso de Sharepoint, a&amp;uacute;n no est&amp;aacute;n disponibles los precios, aunque s&amp;iacute; que est&amp;aacute; la plantilla de Sharepoint Server 2003 Trial.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_2.png"&gt;&lt;img height="344" width="484" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_thumb.png" alt="image" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Nuevos tama&amp;ntilde;os de m&amp;aacute;quina XXL y XXXL (A6 y A7)&lt;/h3&gt;
&lt;p&gt;Otra de las grandes novedades es la posibilidad de desplegar &lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;instancias de uso intensivo de memoria&lt;/span&gt;&lt;/strong&gt;, viniendo a duplicar el tama&amp;ntilde;o ExtraLarge que ten&amp;iacute;amos hasta ahora en lo que a memoria RAM se refiere. De este modo, los tama&amp;ntilde;os de instancias ir&amp;aacute;n desde A0 hasta A7, cada una duplicando en memoria a la anterior. OJO: no me pregunt&amp;eacute;is d&amp;oacute;nde se dejaron A5 (esto tratar&amp;eacute; de averiguarlo):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_4.png"&gt;&lt;img height="266" width="380" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_thumb_5F00_1.png" alt="image" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_6.png"&gt;&lt;img height="100" width="380" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_thumb_5F00_2.png" alt="image" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Nuevos precios reducidos, &amp;iexcl;y no s&amp;oacute;lo para IaaS, tambi&amp;eacute;n para PaaS!&lt;/h3&gt;
&lt;p&gt;Por &amp;uacute;ltimo, una de las terceras grandes novedades es el anuncio de una &lt;strong&gt;reducci&amp;oacute;n de precios de un 21%&lt;/strong&gt; sobre Windows Azure Virtual Machines (IaaS) y de un 33% de reducci&amp;oacute;n de precios en soluciones desplegadas bajo modelo PaaS (toma ya! un 12% de rebaja adicional si despliegas DNN en modelo PaaS con el Accelerator!!!). Estos nuevos precios casan con la oferta actual bajo demanda de Amazon, tanto para m&amp;aacute;quinas Windows como Linux. &lt;/p&gt;
&lt;p&gt;Cabe recalcar que si bien Windows Azure Virtual Machines (IaaS) est&amp;aacute; disponible generalmente desde hoy 16 de abril, se continuar&amp;aacute; ofreciendo el precio con descuento de la Preview hasta el 31 de Mayo. Los nuevos precios de GA tendr&amp;aacute;n efecto a partir del 1 de junio.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Precios para modelo IaaS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_8.png"&gt;&lt;img height="252" width="480" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_thumb_5F00_3.png" alt="image" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Precios para modelo PaaS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_10.png"&gt;&lt;img height="196" width="480" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/image_5F00_thumb_5F00_4.png" alt="image" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="image" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Toda la informaci&amp;oacute;n de los nuevos tama&amp;ntilde;os de m&amp;aacute;quina y sus precios los puedes encontrar en este enlace: &lt;a target="_blank" href="https://www.windowsazure.com/en-us/pricing/details/virtual-machines/" title="https://www.windowsazure.com/en-us/pricing/details/virtual-machines/"&gt;https://www.windowsazure.com/en-us/pricing/details/virtual-machines/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Conclusi&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;En este post he comentado las que me parecieron las tres principales novedades incluidas en este lanzamiento, pero hay muchas otras y otros peque&amp;ntilde;os huevos de pascua &amp;ndash;&amp;iquest;coment&amp;eacute; que ahora los VHD de S.O. son de 127Gb, o que puedes cambiar el nombre del usuario &amp;ldquo;Administrator&amp;rdquo;?-, as&amp;iacute; que no olvides visitar el &lt;a target="_blank" href="http://weblogs.asp.net/scottgu/archive/2013/04/16/windows-azure-general-availability-of-infrastructure-as-a-service-iaas.aspx"&gt;post original de Scott Guthrie&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Por lo que he podido experimentar despu&amp;eacute;s de haber desplegado cerca de 100 servidores en modo IaaS desde su salida en modo Preview en Junio de 2012, el servicio de Windows Azure Virtual Machines ha ido mejorando en rendimiento, confiabilidad y disponibilidad. De hecho, el principal problema que pod&amp;iacute;amos encontrarnos a fecha de hoy era que al estar en modo Preview, no era un producto totalmente soportado con sus acuerdos de niveles de servicio. Con el lanzamiento de hoy, esto lo cambia todo, ya que todas los despliegues que tuvieras pasan a tener soporte y por lo tanto, pasa a ser un lugar donde puedes poner tus despliegues de producci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;Veremos qu&amp;eacute; m&amp;aacute;s sorpresas nos traen nuestros amiguetes de Microsoft en los pr&amp;oacute;ximos meses. Est&amp;aacute;n que lo petan con tanto anuncio.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Un saludo y happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=209192" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Pidiendo una de camarones mientras tu sitio autoescala en Azure</title><link>http://geeks.ms/blogs/davidjrh/archive/2013/03/30/pidiendo-una-de-camarones-mientras-tu-sitio-autoescala-en-azure.aspx</link><pubDate>Sat, 30 Mar 2013 12:17:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208964</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=208964</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2013/03/30/pidiendo-una-de-camarones-mientras-tu-sitio-autoescala-en-azure.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CamaronesAzure_5F00_2.jpg"&gt;&lt;img height="240" width="179" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CamaronesAzure_5F00_thumb.jpg" align="right" alt="CamaronesAzure" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;margin:0px 0px 10px 9px;display:inline;padding-right:0px;border-top-width:0px;" title="CamaronesAzure" /&gt;&lt;/a&gt;Despu&amp;eacute;s de la salida de la &lt;a target="_blank" href="http://geeks.ms/blogs/davidjrh/archive/2013/03/24/dotnetnuke-azure-accelerator-6-4-ya-disponible.aspx"&gt;&amp;uacute;ltima versi&amp;oacute;n 6.4 del DotNetNuke Azure Accelerator&lt;/a&gt; que, recordemos, a&amp;ntilde;ade soporte para alta disponibilidad de tus sitios web con DotNetNuke en Azure, llega el momento de probar opciones de autoescalabilidad para ajustar la capacidad a la demanda y como no, ahorrar en costes. &lt;/p&gt;
&lt;p&gt;No s&amp;eacute; si todos sabr&amp;eacute;is de una de las &amp;uacute;ltimas adquisiciones de Microsoft. Se trata de la startup &lt;a target="_blank" href="http://www.metricshub.com/"&gt;MetricsHub&lt;/a&gt;, cuyo principal foco es la monitorizaci&amp;oacute;n y automatizaci&amp;oacute;n de escalado de despliegues realizados sobre Windows Azure, para sacar el mayor partido posible a la flexibilidad y valor a nuestras soluciones en la nube. Lo mejor de esta adquisici&amp;oacute;n es que como resultado final todos los clientes de Windows Azure pueden activar la versi&amp;oacute;n preliminar de estos servicios a trav&amp;eacute;s de la Store de forma&amp;hellip;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;GRATUITA&lt;/span&gt;&lt;/strong&gt;!!!&lt;/p&gt;
&lt;p&gt;Las caracter&amp;iacute;sticas m&amp;aacute;s destacables de estos servicios ser&amp;iacute;an las siguientes:&lt;/p&gt;
&lt;table border="0" width="450" cellpadding="2" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="150" valign="top"&gt;&lt;strong&gt;MetricsHub Dashboard&lt;/strong&gt;&lt;/td&gt;
&lt;td width="150" valign="top"&gt;&lt;strong&gt;ActiveScale desde MetricsHub&lt;/strong&gt;&lt;/td&gt;
&lt;td width="150" valign="top"&gt;&lt;strong&gt;Notificaciones&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="150" valign="top"&gt;Completo cuadro de mandos con un resumen de los datos m&amp;aacute;s importantes de tu servicio en la nube&lt;/td&gt;
&lt;td width="150" valign="top"&gt;ActiveScale mantiene tu servicio en condiciones cuando la carga aumenta, del mismo modo que decrementa los costes&lt;/td&gt;
&lt;td width="150" valign="top"&gt;Env&amp;iacute;o de alertas a trav&amp;eacute;s de correo electr&amp;oacute;nico e integraci&amp;oacute;n con &lt;a target="_blank" href="http://www.pagerduty.com/"&gt;PagerDuty&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="150" valign="top"&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="https://www.youtube.com/watch?v=x3DsmYMEnWg&amp;amp;feature=youtu.be"&gt;&lt;img height="101" width="150" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/MetricsHub_5F00_3.png" alt="MetricsHub" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="MetricsHub" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a target="_blank" href="https://www.youtube.com/watch?v=x3DsmYMEnWg&amp;amp;feature=youtu.be"&gt;Ver video&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="150" valign="top"&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="https://www.youtube.com/watch?v=_QbiLz3o_-M&amp;amp;feature=youtu.be"&gt;&lt;img height="101" width="150" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AutoScale_5F00_3.png" alt="AutoScale" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="AutoScale" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a target="_blank" href="https://www.youtube.com/watch?v=_QbiLz3o_-M&amp;amp;feature=youtu.be"&gt;Ver video&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="150" valign="top"&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="https://www.youtube.com/watch?v=TCAERXTVWzk&amp;amp;feature=youtu.be"&gt;&lt;img height="101" width="150" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Notifications_5F00_3.png" alt="Notifications" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="Notifications" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a target="_blank" href="https://www.youtube.com/watch?v=TCAERXTVWzk&amp;amp;feature=youtu.be"&gt;Ver video&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a target="_blank" href="http://blogs.msdn.com/b/windowsazure/archive/2013/03/04/microsoft-acquires-metricshub.aspx"&gt;&lt;img height="113" width="200" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/metrics_5F00_hub_5F00_3.jpg" align="left" alt="metrics_hub" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:left;padding-top:0px;padding-left:0px;margin:0px 10px 10px 0px;display:inline;padding-right:0px;border-top-width:0px;" title="metrics_hub" /&gt;&lt;/a&gt;Si quieres saber m&amp;aacute;s sobre esta adquisici&amp;oacute;n sigue este anuncio en los blogs de MSDN: &lt;a target="_blank" href="http://blogs.msdn.com/b/windowsazure/archive/2013/03/04/microsoft-acquires-metricshub.aspx"&gt;&amp;ldquo;Microsoft Acquires MetricsHub&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En este art&amp;iacute;culo veremos un paso a paso sobre c&amp;oacute;mo activar la monitorizaci&amp;oacute;n de nuestro sitio DotNetNuke desplegado sobre Windows Azure, as&amp;iacute; como habilitar las opciones de autoescalado y notificaciones para poder irnos a tomar tranquilamente una tapa de camarones a la playa mientras las m&amp;aacute;quinas trabajan por nosotros. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IMPORTANTE&lt;/strong&gt;: para que las funciones de autoescalado funcionen correctamente, debes haber desplegado tu sitio web al menos con la &lt;a target="_blank" href="http://geeks.ms/blogs/davidjrh/archive/2013/03/24/dotnetnuke-azure-accelerator-6-4-ya-disponible.aspx"&gt;versi&amp;oacute;n 6.4 del DotNetNuke Azure Accelerator&lt;/a&gt;. &lt;/p&gt;
&lt;h3&gt;Activando MetricsHub en nuestra suscripci&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Para comenzar a examinar las opciones de autoescalado de nuestra instancia DotNetNuke sobre Windows Azure en modo PaaS (una instancia desplegada como un &amp;ldquo;cloud service&amp;rdquo; con el Accelerator, no como un Azure Website), lo primero que tenemos que hacer es habilitar las opciones de monitorizaci&amp;oacute;n en nuestra suscripci&amp;oacute;n. Para ello realizaremos los siguientes pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Iniciar sesi&amp;oacute;n en la consola de administraci&amp;oacute;n de Windows Azure en &lt;a href="https://manage.windowsazure.com"&gt;https://manage.windowsazure.com&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;En la barra de comandos inferior, pulsamos sobre &amp;ldquo;Nuevo&amp;rdquo; y luego en &amp;ldquo;Store&amp;rdquo; &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureStore_5F00_2.png"&gt;&lt;img height="330" width="350" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureStore_5F00_thumb.png" alt="AzureStore" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="AzureStore" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;En la pantalla de selecci&amp;oacute;n de Add-ons, buscar &amp;ldquo;Active Cloud Monitoring&amp;rdquo; (ahora mismo aparece como el primero de la lista) &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveCloudMonitoring_5F00_2.png"&gt;&lt;img height="262" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveCloudMonitoring_5F00_thumb.png" alt="ActiveCloudMonitoring" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="ActiveCloudMonitoring" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Al pulsar siguiente, nos congratula ver que efectivamente el servicio es GRATUITO. Pero OJO: en la regi&amp;oacute;n, &lt;strong&gt;indica la misma localizaci&amp;oacute;n donde tienes ubicados tus servicios cloud&lt;/strong&gt;, ya que de lo contrario puede incurrir en gastos de tr&amp;aacute;fico saliente desde tus cuentas de almacenamiento donde se est&amp;aacute; guardando la informaci&amp;oacute;n de diagn&amp;oacute;stico. &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/PersonalizaAddon_5F00_4.png"&gt;&lt;img height="260" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/PersonalizaAddon_5F00_thumb_5F00_1.png" alt="PersonalizaAddon" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="PersonalizaAddon" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Al pulsar siguiente, podemos volver a ver c&amp;oacute;mo el servicio es gratuito. A&amp;uacute;n no se han ofrecido detalles de c&amp;oacute;mo evolucionar&amp;aacute; este servicio. Por ahora, el l&amp;iacute;mite que he podido constatar es de que no admite monitorizaci&amp;oacute;n de m&amp;aacute;s de 150 servidores, l&amp;iacute;mite m&amp;aacute;s que aceptable. &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Review_5F00_2.png"&gt;&lt;img height="260" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Review_5F00_thumb.png" alt="Review" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="Review" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Al pulsar sobre finalizar, se comienza a desplegar nuestro servicio &amp;ldquo;Active Cloud Monitoring&amp;rdquo;, y al cabo de unos segundos ya est&amp;aacute; todo listo para comenzar a configurar la monitorizaci&amp;oacute;n &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveCloudMonitoringEnabled_5F00_2.gif"&gt;&lt;img height="230" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveCloudMonitoringEnabled_5F00_thumb.gif" alt="ActiveCloudMonitoringEnabled" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="ActiveCloudMonitoringEnabled" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Al pulsar sobre el Add-on, nos lleva al Dashboard del servicio en Azure, aunque no ser&amp;aacute; desde este portal donde accedamos a toda la informaci&amp;oacute;n. Para hacer esto &amp;uacute;ltimo, pulsamos sobre el enlace de visitar la web de &amp;ldquo;MetricsHub, Inc&amp;rdquo; para los pasos siguientes: &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/VisitMetricsHub_5F00_2.gif"&gt;&lt;img height="230" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/VisitMetricsHub_5F00_thumb.gif" alt="VisitMetricsHub" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="VisitMetricsHub" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Una vez en el sitio de MetricsHub, el primer paso es configurar qu&amp;eacute; subscripciones y/o servicios queremos monitorizar. Para ello es necesario que subamos el fichero &amp;ldquo;.publishsettings&amp;rdquo; generado por nuestro portal (que contendr&amp;aacute; un certificado de administraci&amp;oacute;n serializado y los ids de suscripci&amp;oacute;n que puede administrar). Este proceso se realiza en dos pasos autom&amp;aacute;ticos siguiendo las instrucciones en pantalla &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetStarted2_5F00_2.jpg"&gt;&lt;img height="400" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetStarted2_5F00_thumb.jpg" alt="GetStarted2" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="GetStarted2" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetStarted3_5F00_2.jpg"&gt;&lt;img height="372" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetStarted3_5F00_thumb.jpg" alt="GetStarted3" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="GetStarted3" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Lleg&amp;oacute; la hora de indicar qu&amp;eacute; suscripciones y/o servicios queremos monitorizar. Seleccionamos los que queremos &amp;ndash;m&amp;aacute;s tarde podremos a&amp;ntilde;adir o quitar desde las opciones de administraci&amp;oacute;n de la cuenta- y le damos al bot&amp;oacute;n de comenzar, proceso que tarda unos minutos en finalizar. &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetStartedFinish_5F00_2.gif"&gt;&lt;img height="250" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GetStartedFinish_5F00_thumb.gif" alt="GetStartedFinish" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="GetStartedFinish" /&gt;&lt;/a&gt; &lt;br /&gt;Por el momento el servicio monitorizar&amp;aacute; cloud services (PaaS), Windows Azure Websites, espacio en cuentas de almacenamiento y m&amp;aacute;quinas virtuales (IaaS). Para estas &amp;uacute;ltimas, tendr&amp;aacute;s que hacer el paso adicional de instalar un agente local que env&amp;iacute;e los datos de monitorizaci&amp;oacute;n. Como el DNN Azure Accelerator funciona sobre PaaS, no tendr&amp;aacute;s que realizar ninguna operaci&amp;oacute;n adicional de este tipo. &lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Jugueteando con la monitorizaci&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Una vez que est&amp;aacute; todo configurado, es el momento de permitirle unos minutos al servicio para que comience a obtener los datos de diagn&amp;oacute;stico. Una de las cosas que me llama la atenci&amp;oacute;n es que &lt;strong&gt;toda la interfaz de usuario se ha implementado mediante &amp;ldquo;Responsive design&amp;rdquo;&lt;/strong&gt;, con lo que puedes acceder desde cualquier dispositivo m&amp;oacute;vil sin problemas ya que &amp;eacute;stas se ajustan din&amp;aacute;micamente al tama&amp;ntilde;o de pantalla en cada dispositivo.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Home1_5F00_2.jpg"&gt;&lt;img height="158" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Home1_5F00_thumb.jpg" alt="Home1" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="Home1" /&gt;&lt;/a&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Hom2_5F00_2.jpg"&gt;&lt;img height="240" width="147" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Hom2_5F00_thumb.jpg" alt="Hom2" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="Hom2" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Una vez que le hemos dado tiempo a obtener datos, veremos como las gr&amp;aacute;ficas de monitorizaci&amp;oacute;n comienzan a funcionar dentro de cada servicio. &lt;/p&gt;
&lt;p&gt;Como ejemplo, veamos la monitorizaci&amp;oacute;n de un site de DNN desplegado en modo de alta disponibilidad con un m&amp;iacute;nimo de 2 instancias ExtraSmall. Veremos 3 niveles de monitorizaci&amp;oacute;n de un servicio cloud &amp;ndash;que podremos personalizar a&amp;ntilde;adiendo m&amp;aacute;s o menos datos a las gr&amp;aacute;ficas y tablas de datos-. &lt;/p&gt;
&lt;p&gt;El primer nivel de monitorizaci&amp;oacute;n es a nivel general del servicio cloud:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SiteHA_5F00_4.jpg"&gt;&lt;img height="240" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SiteHA_5F00_thumb_5F00_1.jpg" alt="SiteHA" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="SiteHA" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Como vemos, el uso de memoria est&amp;aacute; bastante ajustado ya que en el ejemplo usamos m&amp;aacute;quinas ExtraSmall con s&amp;oacute;lo 768Mb de RAM. &lt;/p&gt;
&lt;p&gt;Al pulsar sobre el role &amp;ldquo;DNNAzure&amp;rdquo; accedemos al segundo nivel de monitoraci&amp;oacute;n a nivel de Role, donde podemos a nivel general las estad&amp;iacute;sticas para cada uno de los roles de uso de CPU, memoria, operaciones de lectura y escritura en disco as&amp;iacute; como tr&amp;aacute;fico de red entrante y saliente, todo en una sola pantalla muy bien consolidado.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RolesHA_5F00_2.jpg"&gt;&lt;img height="253" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RolesHA_5F00_thumb.jpg" alt="RolesHA" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="RolesHA" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Por &amp;uacute;ltimo, al pulsar sobre el nombre de una de las instancias de role, por ejemplo &amp;ldquo;DNNAzure_IN_0&amp;rdquo;, accederemos al tercer nivel de monitorizaci&amp;oacute;n a nivel de instancia, donde podremos monitorizar hasta a nivel de proceso!!!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/InstanceDetail_5F00_2.jpg"&gt;&lt;img height="298" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/InstanceDetail_5F00_thumb.jpg" alt="InstanceDetail" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="InstanceDetail" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Habilitando el autoescalado con ActiveScale&lt;/h3&gt;
&lt;p&gt;Bueno, la tapa de camarones y la ca&amp;ntilde;a est&amp;aacute;n servidas sobre la mesa y queremos tom&amp;aacute;rnosla tranquilamente. &amp;iquest;Qu&amp;eacute; hacemos? Pues activamos el autoescalado para no tener que preocuparnos de si el rendimiento del sistema es el adecuado a la vez que reducimos los costes a la carga de cada momento. &lt;/p&gt;
&lt;p&gt;Para ello, accedemos a la configuraci&amp;oacute;n de ActiveScale desde el nivel 1 (cloud service) o nivel 2 (role) de monitorizaci&amp;oacute;n del cloud service:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveScaleSettings_5F00_2.png"&gt;&lt;img height="167" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveScaleSettings_5F00_thumb.png" alt="ActiveScaleSettings" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="ActiveScaleSettings" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Y aqu&amp;iacute; las opciones m&amp;aacute;s interesantes del servicio&lt;/span&gt;&lt;/strong&gt;, no s&amp;oacute;lo porque permiten autoescalado autom&amp;aacute;tico bas&amp;aacute;ndose en el uso del site, sino que adem&amp;aacute;s permite habilitar tareas autom&amp;aacute;ticas de mantenimiento de salubridad del sistema &amp;ndash;que denominan &amp;ldquo;Automatic Healing&amp;rdquo;, como por ejemplo, reiniciar una instancia de role si se est&amp;aacute; por encima de un umbral de CPU durante un tiempo determinado, etc. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveScaleDetails_5F00_2.jpg"&gt;&lt;img height="368" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ActiveScaleDetails_5F00_thumb.jpg" alt="ActiveScaleDetails" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="ActiveScaleDetails" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Habilitando las notificaciones&lt;/h3&gt;
&lt;p&gt;Bueno, adem&amp;aacute;s de que el sistema se ajuste a la carga, se autorecupere, etc. queremos recibir notificaciones de alerta por correo electr&amp;oacute;nico, por SMS, iOS messages, etc. si alguno de los servicios sufre alg&amp;uacute;n incidente. &amp;iquest;Qu&amp;eacute; hacemos? Alegremente vemos que este servicio tambi&amp;eacute;n est&amp;aacute; incluido dentro de MetricsHub. Para habilitarlo, accedemos al men&amp;uacute; de notificaciones desde la p&amp;aacute;gina de inicio pulsando sobre el men&amp;uacute; &amp;ldquo;All Issues&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/NotificationsMenu_5F00_2.png"&gt;&lt;img height="22" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/NotificationsMenu_5F00_thumb.png" alt="NotificationsMenu" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="NotificationsMenu" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Desde aqu&amp;iacute; podemos ver el hist&amp;oacute;rico de incidencias en todos los servicios, tanto actuales como pasadas:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AllIssues_5F00_2.png"&gt;&lt;img height="270" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AllIssues_5F00_thumb.png" alt="AllIssues" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="AllIssues" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pulsando sobre el bot&amp;oacute;n de &amp;ldquo;Get Email Notifications&amp;hellip;&amp;rdquo; podemos configurar cada una de las reglas para el env&amp;iacute;o de alertas por correo electr&amp;oacute;nico. Las opciones de activaci&amp;oacute;n de estas reglas se pueden parametrizar a trav&amp;eacute;s de la supervisi&amp;oacute;n de umbrales de contadores, adem&amp;aacute;s de poder combinarlos entre ellos para la configuraci&amp;oacute;n de una regla:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SetupNotifications_5F00_2.png"&gt;&lt;img height="219" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SetupNotifications_5F00_thumb.png" alt="SetupNotifications" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="SetupNotifications" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Para acceder a la configuraci&amp;oacute;n de notificaciones por SMS, etc. simplemente tienes que crear una cuenta en &lt;a target="_blank" href="http://www.pagerduty.com/"&gt;PagerDuty&lt;/a&gt;. Este servicio es de pago, contando con una trial de 30 d&amp;iacute;as.&lt;/p&gt;
&lt;h3&gt;Conclusi&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Despu&amp;eacute;s de haber puesto en marcha un ejemplo de despliegue y hacer algunas pruebas de carga sobre el sistema he podido ver que efectivamente el servicio autoescala hacia arriba y abajo pasado el tiempo configurado. Las notificaciones llegan como se esperan y el detalle de las mismas es muy bueno. Acceder al interfaz de usuario desde dispositivos m&amp;oacute;viles cuando no est&amp;aacute;s delante de tu PC de sobremesa es genial, sobretodo cuando se comporta tan bien mostrando gr&amp;aacute;ficas y todo tipo de detalles. &lt;/p&gt;
&lt;p&gt;Recordando que este servicio se ofrece en modo &amp;ldquo;preview&amp;rdquo; de forma gratuita, s&amp;oacute;lo queda esperar qu&amp;eacute; se nos ofrecer&amp;aacute; en un futuro. Yo por ahora, &amp;ldquo;lo compro&amp;rdquo; &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" alt="Smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" /&gt;&lt;/p&gt;
&lt;p&gt;Me voy a por la tapa de camarones. &lt;/p&gt;
&lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208964" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>DotNetNuke Azure Accelerator 6.4 Released!</title><link>http://geeks.ms/blogs/davidjrh/archive/2013/03/24/dotnetnuke-azure-accelerator-6-4-released.aspx</link><pubDate>Sun, 24 Mar 2013 19:02:08 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208917</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=208917</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2013/03/24/dotnetnuke-azure-accelerator-6-4-released.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCloud_5F00_2.png"&gt;&lt;img title="DNNCloud" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="DNNCloud" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCloud_5F00_thumb.png" width="240" height="135" /&gt;&lt;/a&gt;The new DotNetNuke Azure Accelerator 6.4 is now available on CodePlex with very interesting new features, such as the awaited high availability, the automated SSL certificates setup, FTP and WebDeploy management, as well as a last-minute addition that allows to set the site offline to perform maintenance tasks. To download the latest version follow this link:&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="4"&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/103900" target="_blank"&gt;Download DotNetNuke Azure Accelerator 6.4&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h3&gt;Release notes&lt;/h3&gt;  &lt;h4&gt;New features&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Changed the packages to use OSVersion=3 by default: Windows Server 2012 and IIS 8 &lt;/li&gt;    &lt;li&gt;Added Support for active and passive FTP. You can enable it in the wizard on the remote option settings step &lt;/li&gt;    &lt;li&gt;Added a new package supporting co-located cache. Note that you still will need a DNN caching provider that implements it. &lt;/li&gt;    &lt;li&gt;Changed IIS 8 settings to use site pre-load &lt;/li&gt;    &lt;li&gt;Changed the appPool Startup mode to AlwaysRunning (see this&lt;a href="http://blogs.msdn.com/b/vijaysk/archive/2012/10/11/iis-8-what-s-new-website-settings.aspx"&gt;http://blogs.msdn.com/b/vijaysk/archive/2012/10/11/iis-8-what-s-new-website-settings.aspx&lt;/a&gt; for more info) &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Modified all the packages to support High Availability&lt;/b&gt;: now you can safely increase or decrease the number of roles serving the website. The VHD drive will be dinamically attached, shared and connected between all the workers. The process will recover from failures when the VM acting as SMB server goes down for whatever reason. &lt;/li&gt;    &lt;li&gt;Support for App_Offline to do safer DNN upgrades stopping incoming webrequests. When you change the configuration setting &amp;quot;AppOffline.Enabled&amp;quot; to &amp;quot;true&amp;quot;, the site will appear as offline but will be published on port 12242. You can then run the upgrade on that port (portal aliases will be dinamically added). After finishing the upgrade, set the &amp;quot;AppOffline.Enabled&amp;quot; to &amp;quot;false&amp;quot; to re-enable the site. &lt;/li&gt;    &lt;li&gt;App_Offline file can be customized by dropping an HTML file on &amp;quot;/Portals/_default/App_Offline.htm &lt;/li&gt;    &lt;li&gt;Added a new step in the wizard to setup SSL configuration, allowing to upload the SSL certificate and CA&amp;#39;s certificates &lt;/li&gt;    &lt;li&gt;Now you can reload the packages in the wizard without having to restart the process &lt;/li&gt;    &lt;li&gt;The last subscription used will be the default one when launching again the wizard&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Fixes&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Fixed an issue causing the website not being started after restarting an instance (see&lt;a href="http://technet.microsoft.com/en-us/library/dd316029(v=ws.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd316029(v=ws.10).aspx&lt;/a&gt; for more info &lt;/li&gt;    &lt;li&gt;Fix for gracefully exiting from Startup Tasks (see&lt;a href="http://dnnazureaccelerator.codeplex.com/discussions/435387"&gt;http://dnnazureaccelerator.codeplex.com/discussions/435387&lt;/a&gt;)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RemoteOptions_5F00_2.png"&gt;&lt;img title="RemoteOptions" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="RemoteOptions" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RemoteOptions_5F00_thumb.png" width="450" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SSLSettings_5F00_2.png"&gt;&lt;img title="SSLSettings" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="SSLSettings" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SSLSettings_5F00_thumb.png" width="450" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Getting Started&lt;/h3&gt;  &lt;p&gt;The summary of steps for deploying DNN Community on Windows Azure is:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;GET A WINDOWS AZURE SUBSCRIPTION      &lt;ol&gt;       &lt;li&gt;You can sign-up for a free 3 month trial here &lt;a href="http://www.windowsazure.com/es-es/pricing/free-trial/"&gt;http://www.windowsazure.com/es-es/pricing/free-trial/&lt;/a&gt;&lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;RUN THE ACCELERATOR      &lt;ol&gt;       &lt;li&gt;Download the DotNetNuke Wizard Accelerator package and uncompress it &lt;/li&gt;        &lt;li&gt;Run DNNAzureWizard.exe and follow the steps&lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you have any comment or you find an issue, remember to visit the &lt;a href="http://dnnazureaccelerator.codeplex.com/discussions"&gt;CodePlex discussion forums&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy it!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208917" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>DotNetNuke Azure Accelerator 6.4 ya disponible!</title><link>http://geeks.ms/blogs/davidjrh/archive/2013/03/24/dotnetnuke-azure-accelerator-6-4-ya-disponible.aspx</link><pubDate>Sun, 24 Mar 2013 18:52:14 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208916</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=208916</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2013/03/24/dotnetnuke-azure-accelerator-6-4-ya-disponible.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCloud_5F00_2.png"&gt;&lt;img title="DNNCloud" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="DNNCloud" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DNNCloud_5F00_thumb.png" width="240" height="135" /&gt;&lt;/a&gt;Ya está disponible en CodePlex la última versión del DotNetNuke Azure Accelerator con una serie de características muy interesantes, como la tan esperada Alta Disponibilidad, la configuración automatizada de certificados SSL, el acceso a los contenidos mediante FTP y WebDeploy, así como un añadido de última hora para poner el site offline para realizar tareas de mantenimiento. Para acceder a la descarga de esta última versión puedes seguir el siguiente enlace:&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/103900" target="_blank"&gt;Descargar DotNetNuke Azure Accelerator 6.4&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h3 align="justify"&gt;Notas de la versión&lt;/h3&gt;  &lt;h4 align="justify"&gt;Nuevas características&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Modificados todos los paquetes para soportar Alta Disponibilidad&lt;/strong&gt;: ahora puedes aumentar o disminuir el número de instancias de rol de forma segura. La unidad VHD será montada y compartida dinámicamente, mientras que los roles cliente buscan y se conectan al recursos compartido del mismo modo. Este proceso se recuperará automáticamente de posibles caídas cuando la máquina virtual que actúa como servidor de ficheros se cae por cualquier motivo (fallo, actualización automática, sustitución del servidor por uno nuevo, etc.)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Modificados todos los paquetes para usar OSVersion=3 por defecto (Windows Server 2012 e IIS 8)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Añadido &lt;strong&gt;soporte para FTP&lt;/strong&gt; activo y pasivo. Puedes habilitar la configuración automática de los servicios FTP en el paso de opciones de administración remota en el asistente&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Modificadas las opciones de IIS 8 para usar pre-carga del site&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Modificada las opciones del pool de aplicaciones para poner el modo de inicio a AlwaysRunning (ver &lt;a title="http://blogs.msdn.com/b/vijaysk/archive/2012/10/11/iis-8-what-s-new-website-settings.aspx" href="http://blogs.msdn.com/b/vijaysk/archive/2012/10/11/iis-8-what-s-new-website-settings.aspx"&gt;http://blogs.msdn.com/b/vijaysk/archive/2012/10/11/iis-8-what-s-new-website-settings.aspx&lt;/a&gt; para más información)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Añadido un nuevo paquete con soporte para co-located cache. Nótese que aún así necesitarás un Caching Provider que implemente Windows Azure Cache no incluido en la solución&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;Soporte para App_Offline&lt;/strong&gt; para realizar operaciones de mantenimiento, como las mismas actualizaciones de DotNetNuke, de forma más segura al no recibir webrequests durante dicho proceso. Cuando cambias la opción de configuración “AppOffline.Enabled” a “true” a través de la consola de administración de Windows Azure, el site aparecerá offline en los puertos 80 y 443, mientras que es publicado en el puerto 12242. De este modo puedes realizar el update en dicho puerto (se añadirán dinámicamente portal aliases para el mismo). Al finalizar las tareas de mantenimiento, vuelve a configurar la opción “AppOffline.Enabled” a “false” para volver a habilitar el site.El App_Offline puede ser personalizado creando un fichero en la ruta “/portals/_default/App_Offline.htm”&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Añadido un nuevo paso en el asistente para &lt;strong&gt;configurar las opciones de SSL&lt;/strong&gt;, permitiendo subir tanto el certificado del site como el de las entidades emisoras de los mismos.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Ahora puedes volver a cargar la lista de paquetes en el asistente sin tener que volver a iniciar el mismo&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;La última suscripción usada será la que esté seleccionada por defecto la próxima vez que inicies el asistente&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h4 align="justify"&gt;Correcciones&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Corregido un problema que causaba que el sitio web no se iniciar al reiniciar una instancia de webrole (ver &lt;a href="http://technet.microsoft.com/en-us/library/dd316029(v=ws.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd316029(v=ws.10).aspx&lt;/a&gt; para más información)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Correción para salir sin errores de las Startup Tasks (ver &lt;a href="http://dnnazureaccelerator.codeplex.com/discussions/435387"&gt;http://dnnazureaccelerator.codeplex.com/discussions/435387&lt;/a&gt; para más información)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RemoteOptions_5F00_2.png"&gt;&lt;img title="RemoteOptions" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="RemoteOptions" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/RemoteOptions_5F00_thumb.png" width="450" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SSLSettings_5F00_2.png"&gt;&lt;img title="SSLSettings" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" border="0" alt="SSLSettings" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SSLSettings_5F00_thumb.png" width="450" height="322" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Si tienes alguna sugerencia o comentario, o detectáis alguna incidencia, recordad visitar los &lt;a href="http://dnnazureaccelerator.codeplex.com/discussions" target="_blank"&gt;foros de discusión en CodePlex&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;¡Que lo disfrutéis!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208916" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>¡Vuelve el Megathon 2013!</title><link>http://geeks.ms/blogs/davidjrh/archive/2013/03/15/161-vuelve-el-megathon-2013.aspx</link><pubDate>Fri, 15 Mar 2013 22:41:47 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208870</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=208870</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2013/03/15/161-vuelve-el-megathon-2013.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/es-es/dn144953"&gt;&lt;img border="0" src="http://i.msdn.microsoft.com/dn144953.Megathon2013(es-es,MSDN.10).png" width="490" height="206" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Por segundo año consecutivo, tendrá lugar el Megathon Windows, un hackathon que se celebra de manera simultánea en varias ciudades, donde tendrás la oportunidad de crear apps para Windows 8 y Windows Phone, aprender y conocer a otros programadores y ganar fabulosos premios.&lt;/p&gt;  &lt;p&gt;Además como novedad, este año hemos preparado una &lt;strong&gt;serie de cursos y webcasts gratuitos de desarrollo &lt;/strong&gt;de apps para Windows 8 y Windows Phone &lt;strong&gt;previos al evento&lt;/strong&gt; para que puedas empezar a prepararte a fondo para el gran día. &lt;/p&gt;  &lt;p&gt;¡Accede a la web del Megathon Windows para apuntarte a los cursos y no olvides registrarte en alguna de las ciudades que ya tenemos confirmadas!&lt;/p&gt;  &lt;p&gt;¡Empieza a prepararte! ¡Contamos contigo!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/es-es/dn144953"&gt;&lt;img title="Pie" border="0" alt="" src="http://www.microsoft.com/spain/msdn/windows8/pie-registro-hackathon.jpg" width="490" height="97" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208870" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Phone/default.aspx">Windows Phone</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>[DNN Azure Accelerator] Le damos la bienvenida a la Alta Disponibilidad</title><link>http://geeks.ms/blogs/davidjrh/archive/2013/02/19/dnn-azure-accelerator-le-damos-la-bienvenida-a-la-alta-disponibilidad.aspx</link><pubDate>Tue, 19 Feb 2013 22:43:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208609</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=208609</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2013/02/19/dnn-azure-accelerator-le-damos-la-bienvenida-a-la-alta-disponibilidad.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/high_5F00_availability_5F00_2.jpg"&gt;&lt;img height="216" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/high_5F00_availability_5F00_thumb.jpg" align="right" alt="high_availability" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="high_availability" /&gt;&lt;/a&gt;Una de las caracter&amp;iacute;sticas m&amp;aacute;s solicitadas en el DotNetNuke Azure Accelerator es la posibilidad de poder hacer despliegues en alta disponibilidad (a&amp;ntilde;adiendo dos o m&amp;aacute;s roles) y que adem&amp;aacute;s no existan problemas de recuperaci&amp;oacute;n en caso de que el acceso a los contenidos almacenados en el VHD sea interrumpido. Si bien en la actualidad se pod&amp;iacute;an hacer despliegues de m&amp;aacute;s de un servidor para servir los contenidos (modo webfarm), en el caso de que el servidor que montaba la unidad VHD cayera por alg&amp;uacute;n motivo &amp;ndash;como que Microsoft hiciera un mantenimiento planeado haciendo un upgrade del cloud service- pod&amp;iacute;a acabar en que el site dejara de estar disponible.&lt;/p&gt;
&lt;p&gt;Todo esto tiene su ra&amp;iacute;z en &lt;strong&gt;la exclusividad que mantiene sobre el blob el role que monta el VHD&lt;/strong&gt;, a trav&amp;eacute;s del mantenimiento de &lt;em&gt;leases&lt;/em&gt; sobre el mismo, no permitiendo a los dem&amp;aacute;s roles montarlo en modo lectura/escritura.&lt;/p&gt;
&lt;h3&gt;Nuevas caracter&amp;iacute;sticas en el DNN Azure Accelerator&lt;/h3&gt;
&lt;p&gt;Antes de comenzar a detallar c&amp;oacute;mo funciona el nuevo sistema de &amp;ldquo;competici&amp;oacute;n por el lease&amp;rdquo;, echemos un vistazo a las nuevas caracter&amp;iacute;sticas implementadas en el Accelerator desde su &amp;uacute;ltima versi&amp;oacute;n y que he ido a&amp;ntilde;adiendo a lo largo de los &amp;uacute;ltimos meses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Soluci&amp;oacute;n actualizada al Azure SDK 1.8 (October 2012) &lt;/li&gt;
&lt;li&gt;Modificado el sistema operativo predeterminado de los paquetes a OSVersion=3 (Windows Server 2012, IIS 8) &lt;/li&gt;
&lt;li&gt;A&amp;ntilde;adido soporte para servicio FTP (activo y pasivo) &lt;/li&gt;
&lt;li&gt;Corregida la causa por la que en determinadas ocasiones el site no se iniciaba correctamente tras reiniciar el role (ver &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/dd316029(v=ws.10).aspx"&gt;este enlace&lt;/a&gt; para m&amp;aacute;s informaci&amp;oacute;n) &lt;/li&gt;
&lt;li&gt;A&amp;ntilde;adido nuevo paquete con soporte para co-located cach&amp;eacute; &lt;/li&gt;
&lt;li&gt;A&amp;ntilde;adido soporte de pre-carga del sitio y modo de inicio del appPool en AlwaysRunning, caracter&amp;iacute;sticas de IIS8 (ver &lt;a target="_blank" href="http://blogs.msdn.com/b/vijaysk/archive/2012/10/11/iis-8-what-s-new-website-settings.aspx"&gt;este enlace&lt;/a&gt; para m&amp;aacute;s informaci&amp;oacute;n) &lt;/li&gt;
&lt;li&gt;Arquitectura modificada a&amp;ntilde;adiendo soporte para Alta Disponibilidad &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Antes de empaquetar la nueva versi&amp;oacute;n, voy a realizar algunos cambios en la interfaz de usuario para acomodar las nuevas opciones de configuraci&amp;oacute;n como las del servicio FTP, etc. &lt;/p&gt;
&lt;h3&gt;Alta Disponibilidad: compitiendo por el lease&lt;/h3&gt;
&lt;p&gt;A la espera de que Microsoft saque la soluci&amp;oacute;n definitiva a este problema de leases sobre los VHD, la nueva implementaci&amp;oacute;n realizada en el DNN Azure Accelerator minimiza estos efectos para estar dentro de los m&amp;aacute;rgenes del SLA de alta disponibilidad de Windows Azure. &lt;/p&gt;
&lt;p&gt;La soluci&amp;oacute;n est&amp;aacute; basada en la actualizaci&amp;oacute;n del &lt;a target="_blank" href="http://blogs.msdn.com/b/windowsazurestorage/archive/2011/04/16/using-smb-to-share-a-windows-azure-drive-among-multiple-role-instances.aspx"&gt;post de Dinesh Haridas&lt;/a&gt; -art&amp;iacute;culo en el que est&amp;aacute; inspirado el DNN Azure Accelerator- en el que se introduce una aproximaci&amp;oacute;n a la alta disponibilidad con una t&amp;eacute;cnica de competici&amp;oacute;n por el VHD. &lt;/p&gt;
&lt;p&gt;Por simplificaci&amp;oacute;n, centremos el problema de la alta disponibilidad en las operaciones alrededor del VHD donde residen los contenidos del site. Estas operaciones ser&amp;aacute;n realizadas entre dos roles: &lt;strong&gt;SMBServer&lt;/strong&gt;, que act&amp;uacute;a como el servidor de contenidos; &lt;strong&gt;SMBClient&lt;/strong&gt;, que act&amp;uacute;a como servidor que se conecta a la unidad compartida por el servidor de contenidos. &lt;/p&gt;
&lt;p&gt;El resumen de las operaciones realizadas en el role que comparte los contenidos es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMBServer&lt;/strong&gt; (1 o m&amp;aacute;s instancias) 
&lt;ul&gt;
&lt;li&gt;Cada X segundos (en el evento OnRun), intenta montar el VHD (&lt;em&gt;Compete for the lease&lt;/em&gt;) 
&lt;ul&gt;
&lt;li&gt;Si tiene &amp;eacute;xito: 
&lt;ul&gt;
&lt;li&gt;comparte la unidad con un &amp;ldquo;NET SHARE&amp;rdquo; &lt;/li&gt;
&lt;li&gt;Cada X segundos sigue comprobando que tiene el lease. Si no lo tiene, elimina el share y vuelve al principio &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tal y como se observa, todos &lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;los roles que act&amp;uacute;an como servidor de ficheros est&amp;aacute;n continuamente compitiendo por el lease del VHD&lt;/span&gt;&lt;/strong&gt;. El lease actual, que se mantiene durante 60seg por el driver del servidor que monta con &amp;eacute;xito el VHD, asegura que la unidad siga estando en posesi&amp;oacute;n del mismo servidor mientras sea posible. Por este motivo, en caso de ca&amp;iacute;da del role que comparte los contenidos, la recuperaci&amp;oacute;n completa toma entre 60 y 90seg. Si tenemos en cuenta que &amp;eacute;sto s&amp;oacute;lo ocurre cuando actualizamos el servicio &amp;ndash;o cuando Microsoft realiza una operaci&amp;oacute;n de mantenimiento, normalmente una vez cada 2 o 3 meses-, si bien no es perfecto, entra dentro de los m&amp;aacute;rgenes del SLA de Azure. &lt;/p&gt;
&lt;p&gt;El resumen de las operaciones realizadas en el role que act&amp;uacute;a como cliente es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMBClient &lt;/strong&gt;(1 o m&amp;aacute;s instancias) 
&lt;ul&gt;
&lt;li&gt;Cada X segundos (en el evento OnRun), intenta mapear una unidad de red con el share del role SMBServer, iterando sobre todas las instancias del mismo 
&lt;ul&gt;
&lt;li&gt;Si tiene &amp;eacute;xito: 
&lt;ul&gt;
&lt;li&gt;Cada X segundos escribe en un fichero de log en la carpeta &amp;ldquo;\logs&amp;rdquo;. Si ocurre un error al escribir dicha entrada, elimina la unidad mapeada y vuelve al principio &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En el caso del servidor SMBClient, se hacen varios reintentos de escritura en el log antes de comenzar de nuevo el proceso de mapeo para evitar falsos positivos. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureHADemo_5F00_2.jpg"&gt;&lt;img height="199" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzureHADemo_5F00_thumb.jpg" alt="AzureHADemo" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="AzureHADemo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el archivo adjunto est&amp;aacute; la soluci&amp;oacute;n simplificada que sirve de demostraci&amp;oacute;n por si a alguien le interesan los detalles.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AcceleratorHADemo.zip (334Kb) &amp;ndash; &lt;a target="_blank" href="http://sdrv.ms/ZemT0U"&gt;Descargar&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Implementaci&amp;oacute;n en el Accelerator&lt;/h3&gt;
&lt;p&gt;La implementaci&amp;oacute;n final en el Accelerator &lt;a target="_blank" href="http://dnnazureaccelerator.codeplex.com/SourceControl/changeset/view/21748"&gt;tambi&amp;eacute;n est&amp;aacute; disponible en CodePlex&lt;/a&gt;. Cabe destacar las siguientes caracter&amp;iacute;sticas en la implementaci&amp;oacute;n final:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El c&amp;oacute;digo de creaci&amp;oacute;n del site en el IIS se ha movido justo despu&amp;eacute;s del intento exitoso de mapeo de la unidad de red en el webrole &lt;/li&gt;
&lt;li&gt;Existen tres cloud services distintos dentro de la soluci&amp;oacute;n: 
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DNNAzureSMB&lt;/strong&gt;: mantiene worker roles (SMBServer) y webroles (DNNAzure) separados para cada operaci&amp;oacute;n. Si bien lo normal es usar el menor n&amp;uacute;mero de servidores posible, hay escenarios donde, por rendimiento, no se desea sobrecargar a un webrole con las tareas de servir tambi&amp;eacute;n los archivos al resto de instancias. Es por ello que se sigue manteniendo esta soluci&amp;oacute;n. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNNAzureSingle&lt;/strong&gt;: al desplegar este cloud service, los webroles (DNNAzure) act&amp;uacute;an tambi&amp;eacute;n como servidores de contenidos compitiendo por el lease del VHD. Para ello se mantienen dos threads: uno para competir por el lease y realizar las tareas propias del SMBServer y otro para realizar el mapeo de red y las tareas propias del SMBClient. Este ser&amp;aacute; normalmente el paquete a desplegar en la mayor&amp;iacute;a de los escenarios. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A&amp;uacute;n queda una problem&amp;aacute;tica por solucionar, y es el escenario donde se usa FTP o WebDeploy y has desplegado m&amp;aacute;s de una instancia de los webroles. Esto es debido a que estos protocolos requieren afinidad a nivel de protocolo de comunicaciones y la implementaci&amp;oacute;n actual del Load Balancer de Azure no permite especificar la misma. Como &amp;ldquo;workaround&amp;rdquo; para esta incidencia &amp;ndash;&lt;a target="_blank" href="http://www.mygreatwindowsazureidea.com/forums/169400-networking-traffic-manager/suggestions/865435-enabled-configurable-session-affinity-at-the-load-"&gt;y hasta que Microsoft lo solucione a nivel de Load Balancer&lt;/a&gt;- la soluci&amp;oacute;n pasar&amp;iacute;a por a&amp;ntilde;adir un tercer webrole para estos servicios que requieren afinidad y desplegar s&amp;oacute;lo una instancia del mismo.&amp;nbsp; &lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Conclusi&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Con esta versi&amp;oacute;n se soluciona el problema de alta disponibilidad en el DNN Azure Accelerator as&amp;iacute; como el problema de actualizaci&amp;oacute;n del servicio, ya est&amp;eacute; en alta disponibilidad como si no, con lo que ser&amp;aacute; una actualizaci&amp;oacute;n recomendada para todos los despliegues que actualmente est&amp;eacute;n usando el DNN Azure Accelerator.&lt;/p&gt;
&lt;p&gt;En breve realizar&amp;eacute; un empaquetado y estar&amp;aacute; disponible como descarga en CodePlex. Si tienes alguna sugerencia, no olvides dejar tus comentarios, ya sea en este mismo blog o como una entrada en el &lt;a target="_blank" href="http://dnnazureaccelerator.codeplex.com/discussions"&gt;&amp;aacute;rea de discusiones de CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208609" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>Cómo eliminar registros de la tabla de trazas en Azure</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/11/25/c-243-mo-eliminar-registros-de-la-tabla-de-trazas-en-azure.aspx</link><pubDate>Sun, 25 Nov 2012 16:28:43 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207536</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=207536</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/11/25/c-243-mo-eliminar-registros-de-la-tabla-de-trazas-en-azure.aspx#comments</comments><description>&lt;p&gt;Dentro de las buenas prácticas a la hora de implementar un cloud service en Azure, ya se trate de un webrole o un worker role, es la de configurar la transferencia de datos de diagnóstico a Azure Storage para poder ver cómo se está comportando nuestro servicio. En el artículo “&lt;a href="https://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/" target="_blank"&gt;Enabling Diagnostics in Windows Azure&lt;/a&gt;” se detalla paso a paso cómo habilitar cada uno de los tipos de diagnóstico.&lt;/p&gt;  &lt;p&gt;Una vez configuradas las fuentes de datos de diagnóstico –IIS logs, Windows Events logs, etc.-, los datos son transferidos a Azure Storage en ciclos de X minutos según hayamos configurado. Uno de estas fuentes de datos son los Windows Azure logs, conteniendo los mensajes enviados a través de operaciones de traza (“Trace.WriteInformation”, etc.), y yendo a parar a la tabla “WADLogsTable” en Azure Storage.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WADLogsTable_5F00_2.png"&gt;&lt;img title="WADLogsTable" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="WADLogsTable" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WADLogsTable_5F00_thumb.png" width="450" height="274" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Esta información es una de nuestras primeras herramientas de diagnóstico en la que podemos escribir información de traza. Personalmente también añado un listener para tener la misma información en el Event Viewer de mi aplicación ya que así no tengo que esperar al mínimo de 1 minuto de transferencia a Storage, accediendo al mismo a través de RDP. &lt;/p&gt;  &lt;p&gt;Y si bien en el caso del visor de sucesos podemos indicar diversos métodos de eliminación automática de sucesos –por fecha, por tamaño en Mb, etc.-, no existe una opción similar para eliminar esta información de forma automática de la tabla WADLogsTable de Azure Storage. Es cierto que el almacenamiento de Azure Storage es muy económico, pero cuando vas acumulando información de traza, es muy probable que los mensajes que fueron generados hace varios meses o años atrás deje de ser relevante, y haya que realizar algún mantenimiento en la misma sin perder los últimos datos relevantes (vamos, sin eliminar la tabla completamente).&lt;/p&gt;  &lt;p&gt;De este modo, una de las opciones que tenemos es la de ir eliminando registros de la tabla a través de algún filtro, algo que podemos hacer programáticamente o a través de uno de los comandos Powershell disponibles en el conjunto de &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj152841" target="_blank"&gt;Windows Azure Management Cmdlets&lt;/a&gt;. &lt;/p&gt;  &lt;h3&gt;Instalando Windows Azure Management Cmdlets&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/InstallWPI_5F00_5.png"&gt;&lt;img title="InstallWPI" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="InstallWPI" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/InstallWPI_5F00_thumb_5F00_1.png" width="240" height="163" /&gt;&lt;/a&gt;La forma más sencilla de instalar estos comandos de PowerShell es a través de Web Platform Installer. Siguiendo este enlace (&lt;a title="http://go.microsoft.com/?linkid=9811175&amp;amp;clcid=0x409" href="http://go.microsoft.com/?linkid=9811175&amp;amp;clcid=0x409"&gt;http://go.microsoft.com/?linkid=9811175&amp;amp;clcid=0x409&lt;/a&gt;) se iniciará la instalación de paquete en cuestión. &lt;/p&gt;  &lt;p&gt;Si lo que deseas es automatizar la instalación de estos Cmdlets dentro de tu instancia de Windows Azure, puedes usar la herramienta de línea de comandos de Web Platform Installer con una línea de comandos como la siguiente (visita mi post anterior &lt;a href="http://davidjrh.intelequia.com/2012/10/configurando-web-platform-installer-y.html" target="_blank"&gt;Configurando Web Platform Installer y WebDeploy en un Azure WebRole&lt;/a&gt; para ampliar información):&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="overflow:auto;cursor:text;font-size:8pt;border-top:silver 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-right:silver 1px solid;border-bottom:silver 1px solid;padding-bottom:4px;direction:ltr;text-align:left;padding-top:4px;padding-left:4px;margin:20px 0px 10px;border-left:silver 1px solid;line-height:12pt;padding-right:4px;max-height:200px;width:97.5%;background-color:#f4f4f4;"&gt;   &lt;div id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;     &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; ~dp0WebPICMD.exe /Install /Products:WindowsAzurePowerShell /AcceptEULA&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Realizando mantenimiento de WADLogsTable&lt;/h3&gt;

&lt;p&gt;Una vez instalados los Cmdlets, abrimos la consola de Windows Azure PowerShell. Para ello, buscamos en el menú de inicio el acceso directo para iniciarla.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WAPowerShell_5F00_2.png"&gt;&lt;img title="WAPowerShell" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" border="0" alt="WAPowerShell" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WAPowerShell_5F00_thumb.png" width="450" height="105" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez iniciada la consola de comandos, procedemos a buscar la ayuda del Cmdlet para realizar mantenimiento de esta tabla, escribiendo “help Clear-WindowsAzureLog”:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="overflow:auto;cursor:text;font-size:8pt;border-top:silver 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-right:silver 1px solid;border-bottom:silver 1px solid;padding-bottom:4px;direction:ltr;text-align:left;padding-top:4px;padding-left:4px;margin:20px 0px 10px;border-left:silver 1px solid;line-height:12pt;padding-right:4px;max-height:200px;width:97.5%;background-color:#f4f4f4;"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;PS C:\&amp;gt; help clear-windowsazurelog&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;NAME&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    Clear-WindowsAzureLog&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;SYNOPSIS&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    Removes Windows Azure trace log data from a storage account.&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;SYNTAX&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    Clear-WindowsAzureLog [-DeploymentId &amp;lt;String&amp;gt;] [-From &amp;lt;DateTime&amp;gt;] [-To &amp;lt;DateTime&amp;gt;] [-StorageAccountName &amp;lt;String&amp;gt;]&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    [-StorageAccountKey &amp;lt;String&amp;gt;] [-UseDevelopmentStorage] [-StorageAccountCredentials&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    &amp;lt;StorageCredentialsAccountAndKey&amp;gt;] [&amp;lt;CommonParameters&amp;gt;]&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    Clear-WindowsAzureLog [-DeploymentId &amp;lt;String&amp;gt;] [-FromUtc &amp;lt;DateTime&amp;gt;] [-ToUtc &amp;lt;DateTime&amp;gt;] [-StorageAccountName&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    &amp;lt;String&amp;gt;] [-StorageAccountKey &amp;lt;String&amp;gt;] [-UseDevelopmentStorage] [-StorageAccountCredentials&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    &amp;lt;StorageCredentialsAccountAndKey&amp;gt;] [&amp;lt;CommonParameters&amp;gt;]&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;DESCRIPTION&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    The Clear-WindowsAzureLog cmdlet clears trace log data exported by Windows Azure Diagnostics to the WADLogsTable&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    of the specified storage account.A subset of the data available can be removed by specifying a period of time &lt;span style="color:#0000ff;"&gt;for&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    which to clear data.&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;RELATED LINKS&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    Get-WindowsAzureLog&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    Set-WindowsAzureLog&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;REMARKS&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    To see the examples, type: &lt;span style="color:#006080;"&gt;&amp;quot;get-help Clear-WindowsAzureLog -examples&amp;quot;&lt;/span&gt;.&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    For more information, type: &lt;span style="color:#006080;"&gt;&amp;quot;get-help Clear-WindowsAzureLog -detailed&amp;quot;&lt;/span&gt;.&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;    For technical information, type: &lt;span style="color:#006080;"&gt;&amp;quot;get-help Clear-WindowsAzureLog -full&amp;quot;&lt;/span&gt;.&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;    For online help, type: &lt;span style="color:#006080;"&gt;&amp;quot;get-help Clear-WindowsAzureLog -online&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;De este modo, un ejemplo para eliminar todas las entradas anteriores al 20 de noviembre de 2012 en DevFabric sería algo así:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="overflow:auto;cursor:text;font-size:8pt;border-top:silver 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-right:silver 1px solid;border-bottom:silver 1px solid;padding-bottom:4px;direction:ltr;text-align:left;padding-top:4px;padding-left:4px;margin:20px 0px 10px;border-left:silver 1px solid;line-height:12pt;padding-right:4px;max-height:200px;width:97.5%;background-color:#f4f4f4;"&gt;
  &lt;div id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;
    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:white;"&gt;PS C:\&amp;gt; Clear-WindowsAzureLog -ToUtc 2012-11-20T00:00:00 -UseDevelopmentStorage&lt;/pre&gt;


    &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;47 record(s) were deleted &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; the &lt;span style="color:#006080;"&gt;&amp;#39;WADLogsTable&amp;#39;&lt;/span&gt; table.&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Como véis, muy simple. De hecho, una buena idea para automatizar esta tarea sería:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Automatizar la instalación de los Cmdlets en el role con la herramienta de línea de comandos de WPI (ver apartado anterior) &lt;/li&gt;

  &lt;li&gt;Crear una tarea programada en el role startup que llame al cmdlet de powershell para eliminar entradas anteriores a X días &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Para no inventar nada nuevo respecto a la creación de tareas programadas, la mejor forma es utilizar el propio planificador de tareas del sistema dentro del mismo role. Sin embargo, para no alargar más esta entrada, lo veremos en el próximo “capítulo”.&lt;/p&gt;

&lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207536" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Cómo desencriptar una password de RDP de Azure olvidada</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/11/19/c-243-mo-desencriptar-una-password-de-rdp-de-azure-olvidada.aspx</link><pubDate>Mon, 19 Nov 2012 21:54:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207475</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=207475</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/11/19/c-243-mo-desencriptar-una-password-de-rdp-de-azure-olvidada.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/password_2D00_decrypting_2D00_600x394_5F00_2.jpg"&gt;&lt;img height="158" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/password_2D00_decrypting_2D00_600x394_5F00_thumb.jpg" align="right" alt="password-decrypting-600x394" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="password-decrypting-600x394" /&gt;&lt;/a&gt;&amp;iquest;Alguna vez te ha pasado que has olvidado la contrase&amp;ntilde;a que pusiste al publicar tu servicio hospedado en Azure y ahora no te puedes conectar por RDP?&lt;/p&gt;
&lt;p&gt;Actualmente, hay una soluci&amp;oacute;n muy sencilla &amp;ndash;y recomendada-, que es volver a restablecer la contrase&amp;ntilde;a a trav&amp;eacute;s del portal de Windows Azure, siguiendo los pasos siguientes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Acceder al &lt;a href="https://manage.windowsazure.com"&gt;portal de Windows Azure&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Ir al servicio hospedado e ir a la secci&amp;oacute;n &amp;ldquo;Configurar&amp;rdquo; &lt;/li&gt;
&lt;li&gt;Hacer click en el bot&amp;oacute;n &amp;ldquo;Remoto&amp;rdquo; de la barra de herramientas inferior &lt;/li&gt;
&lt;li&gt;Restablecer la contrase&amp;ntilde;a introduci&amp;eacute;ndola en los campos solicitados, reconfigurando as&amp;iacute; las credenciales del usuario RDP. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ResetPassword_5F00_2.png"&gt;&lt;img height="303" width="350" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ResetPassword_5F00_thumb.png" alt="ResetPassword" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="ResetPassword" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Esto cambiar&amp;aacute; el estado del role a &amp;ldquo;Actualizando&amp;rdquo; y al cabo de unos minutos ya podremos acceder con la nueva contrase&amp;ntilde;a. &lt;/p&gt;
&lt;p&gt;Si bien esta operaci&amp;oacute;n restablece correctamente los credenciales, a veces no nos conviene por un motivo u otro realizar este cambio. As&amp;iacute; que aqu&amp;iacute; va el truco siguiente.&lt;/p&gt;
&lt;h3&gt;Desencriptar una contrase&amp;ntilde;a RDP olvidada de Windows Azure&lt;/h3&gt;
&lt;p&gt;Para poder desencriptar la contrase&amp;ntilde;a olvidada necesitamos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tener la cadena de texto de la contrase&amp;ntilde;a encriptada &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Tener instalado en el equipo local el certificado con la que fue encriptada&lt;/span&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La contrase&amp;ntilde;a encriptada se almacena en el archivo .cscfg con el que fue desplegado tu servicio, si bien &amp;eacute;ste puede ser distinto si alguien la ha modificado siguiendo el m&amp;eacute;todo anterior. Para asegurarnos de tener la &amp;uacute;ltima contrase&amp;ntilde;a, puedes seguir los pasos siguientes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Acceder al portal anterior de Windows Azure a trav&amp;eacute;s de la URL &lt;a href="https://windows.azure.com"&gt;https://windows.azure.com&lt;/a&gt; (te solicitar&amp;aacute; tus credenciales) y luego mostrar&amp;aacute; la versi&amp;oacute;n anterior del portal en Silverlight &lt;/li&gt;
&lt;li&gt;Ir al servicio en cuesti&amp;oacute;n y seleccionar el despliegue. En la parte derecha aparecer&amp;aacute;n las propiedades del mismo con los valores actuales &lt;/li&gt;
&lt;li&gt;Copiar al portapapeles el valor de la propiedad &amp;ldquo;Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword&amp;rdquo; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/PasswordEncripted_5F00_2.png"&gt;&lt;img height="93" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/PasswordEncripted_5F00_thumb.png" alt="PasswordEncripted" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="PasswordEncripted" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ahora que tienes la contrase&amp;ntilde;a, puedes usar el certificado almacenado en tu almac&amp;eacute;n de certificados local para desencriptarla, del mismo modo que hace el agente de RDP de Windows Azure para crear las credenciales en el role startup. &lt;/p&gt;
&lt;p&gt;El c&amp;oacute;digo para ello ser&amp;iacute;a la funci&amp;oacute;n siguiente:&lt;/p&gt;
&lt;div style="overflow:auto;cursor:text;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;text-align:left;margin:20px 0px 10px;line-height:12pt;max-height:200px;width:97.5%;background-color:#f4f4f4;border:silver 1px solid;padding:4px;" id="codeSnippetWrapper"&gt;
&lt;div style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; DecryptPassword(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; encryptedPassword)&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.IsNullOrEmpty(encryptedPassword))&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; ArgumentNullException(&lt;span style="color:#006080;"&gt;&amp;quot;encryptedPassword&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;     SecureString secPassword;&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;         var encryptedBytes = Convert.FromBase64String(encryptedPassword);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;         var envelope = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; EnvelopedCms();&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;         envelope.Decode(encryptedBytes);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;         var store = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; X509Store(StoreName.My, StoreLocation.LocalMachine);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;         store.Open(OpenFlags.ReadOnly);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;         envelope.Decrypt(store.Certificates);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;char&lt;/span&gt;[] passwordChars = Encoding.UTF8.GetChars(envelope.ContentInfo.Content);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;         secPassword = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SecureString();&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (var character &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; passwordChars)&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;             secPassword.AppendChar(character);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;         Array.Clear(envelope.ContentInfo.Content, 0, envelope.ContentInfo.Content.Length);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;         Array.Clear(passwordChars, 0, passwordChars.Length);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;         secPassword.MakeReadOnly();&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (CryptographicException cex)&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SecurityException(&lt;span style="color:#006080;"&gt;&amp;quot;Unable to decrypt password. Make sure that the cert used for encryption was uploaded to the Azure service&amp;quot;&lt;/span&gt;, cex);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (FormatException fex)&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SecurityException(&lt;span style="color:#006080;"&gt;&amp;quot;Encrypted password is not a valid base64 string&amp;quot;&lt;/span&gt;, fex);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; GetUnsecuredString(secPassword);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt; }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; GetUnsecuredString(SecureString secureString)&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum40"&gt;  40:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (secureString == &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum42"&gt;  42:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; ArgumentNullException(&lt;span style="color:#006080;"&gt;&amp;quot;secureString&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum44"&gt;  44:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt;     IntPtr ptrUnsecureString = IntPtr.Zero;&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum46"&gt;  46:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum48"&gt;  48:&lt;/span&gt;         ptrUnsecureString = Marshal.SecureStringToGlobalAllocUnicode(secureString);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; Marshal.PtrToStringUni(ptrUnsecureString);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum50"&gt;  50:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum51"&gt;  51:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;finally&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum52"&gt;  52:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum53"&gt;  53:&lt;/span&gt;         Marshal.ZeroFreeGlobalAllocUnicode(ptrUnsecureString);&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum54"&gt;  54:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum55"&gt;  55:&lt;/span&gt; }&lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum56"&gt;  56:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Adjunto una soluci&amp;oacute;n con el c&amp;oacute;digo de ejemplo por si alguno le interesa. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://sdrv.ms/WqHcdk"&gt;Descargar soluci&amp;oacute;n de ejemplo para Visual Studio 2012&lt;/a&gt; (49Kb) &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un saludo y happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207475" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>[Evento] Lanzamiento de Visual Studio 2012 con TenerifeDev</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/10/21/evento-lanzamiento-de-visual-studio-2012-con-tenerifedev.aspx</link><pubDate>Sun, 21 Oct 2012 20:33:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207186</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=207186</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/10/21/evento-lanzamiento-de-visual-studio-2012-con-tenerifedev.aspx#comments</comments><description>&lt;p&gt;Seguimos en modo metralleta, y aprovechando la movida realizada desde MadridDotNet no quer&amp;iacute;amos ser menos. As&amp;iacute; que el el pr&amp;oacute;ximo 9 de Noviembre desde &lt;a target="_blank" href="http://www.tenerifedev.com"&gt;TenerifeDev&lt;/a&gt; vamos a hacer un evento para festejar el lanzamiento de Visual Studio 2012, con una serie de charlas a modo de p&amp;iacute;ldoras informativas y finalizando con cervezas en alg&amp;uacute;n bar de la Heraclio. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/logoRegistro_5F00_2.png"&gt;&lt;img height="52" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/logoRegistro_5F00_thumb.png" alt="logoRegistro" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="logoRegistro" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Evento MSDN&lt;/strong&gt;: Lanzamiento de Visual Studio 2012 con TenerifeDev &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fecha&lt;/strong&gt;: 9 de Noviembre de 2012, de 17:00 a 20:00 &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lugar&lt;/strong&gt;: Aulas de Fundaci&amp;oacute;n Empresa Universidad de la Laguna (FEULL) &lt;/li&gt;
&lt;/ul&gt;
&lt;p align="center"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032533052&amp;amp;Culture=es-ES&amp;amp;community=0"&gt;&lt;strong&gt;&lt;span style="font-size:large;"&gt;Reg&amp;iacute;strate aqu&amp;iacute;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agenda:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://geeks.ms/blogs/adiazmartin/archive/2012/10/17/evento-lanzamiento-de-visual-studio-2012.aspx"&gt;Novedades de Visual Studio 2012 &lt;/a&gt;con Alberto D&amp;iacute;az &lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidjrh.intelequia.com/2012/10/evento-tenerifedev-lanzamiento-de.html"&gt;WebAPI&lt;/a&gt; con David Rodr&amp;iacute;guez y C&amp;eacute;sar Abreu &lt;/li&gt;
&lt;li&gt;&lt;a href="http://smarrerof.blogspot.com.es/2012/10/evento-lanzamiento-de-visual-studio-2012.html"&gt;Async/Await &lt;/a&gt;con Sergio Marrero &lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeks.ms/blogs/adiazmartin/archive/2012/10/17/evento-lanzamiento-de-visual-studio-2012.aspx"&gt;Windows Phone &lt;/a&gt;con Alberto D&amp;iacute;az &lt;/li&gt;
&lt;li&gt;&lt;a href="http://geeks.ms/blogs/santypr/archive/2012/10/18/evento-lanzamiento-de-visual-studio-2012-con-tenerifedev.aspx"&gt;Windows Store Apps &lt;/a&gt;con Santiago Porras &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En la parte que nos toca a &lt;a href="http://geeks.ms/controlpanel/blogs/posteditor.aspx/es.linkedin.com/pub/c&amp;eacute;sar-abreu-falc&amp;oacute;n/27/8a5/4a1"&gt;C&amp;eacute;sar&lt;/a&gt; y a m&amp;iacute;, haremos un repaso de la evoluci&amp;oacute;n de ASP.net a WebAPI, viendo con ejemplos el nuevo paradigma de programaci&amp;oacute;n de APIs orientadas a su consumo por p&amp;aacute;ginas web. Y como no pod&amp;iacute;a ser menos, aprovechando la salida de &lt;a href="http://www.dotnetnuke.com/"&gt;DotNetNuke 7.0&lt;/a&gt;, que facilita el desarrollo de WebAPIs integradas con DotNetNuke (i.e. autenticaci&amp;oacute;n integrada), veremos alg&amp;uacute;n ejemplo de c&amp;oacute;mo implementar un WebAPI en DNN para luego consumirlo en otra aplicaci&amp;oacute;n cliente, como puede ser desde una app Windows 8. &lt;/p&gt;
&lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207186" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/TenerifeDev/default.aspx">TenerifeDev</category></item><item><title>¡Ya disponible DotNetNuke Azure Accelerator 6.3!</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/10/08/161-ya-disponible-dotnetnuke-azure-accelerator-6-3.aspx</link><pubDate>Mon, 08 Oct 2012 15:48:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207052</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=207052</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/10/08/161-ya-disponible-dotnetnuke-azure-accelerator-6-3.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/-qvnAnkhzTdY/UHLvsNsyf3I/AAAAAAAABDg/qpdtFOzllnA/s1600-h/DotNetNukePoweredWA%25255B3%25255D.jpg"&gt;&lt;img height="240" width="193" src="http://lh4.ggpht.com/-HSgZQULUBiU/UHLvtDMZnFI/AAAAAAAABDo/wT9einOoL8c/DotNetNukePoweredWA_thumb%25255B1%25255D.jpg?imgmax=800" align="right" alt="DotNetNukePoweredWA" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="DotNetNukePoweredWA" /&gt;&lt;/a&gt;Desde hace unos instantes ya est&amp;aacute; disponible en CodePlex la nueva versi&amp;oacute;n 6.3 del asistente de despliegue de DotNetNuke sobre Windows Azure en modalidad PaaS. En esta nueva versi&amp;oacute;n hay una serie de nuevas caracter&amp;iacute;sticas muy interesantes as&amp;iacute; como la correcci&amp;oacute;n de ciertas incidencias que han surgido desde el &amp;uacute;ltimo empaquetado. &lt;/p&gt;
&lt;p&gt;Una de las nuevas caracter&amp;iacute;sticas m&amp;aacute;s interesantes y que m&amp;aacute;s juego van a dar desde el punto de vista administrativo es el soporte de WebDeploy sobre las instancias de nuestros sitios web desplegados sobre Azure PaaS. Te recomiendo echar un vistazo a &lt;a target="_blank" href="http://davidjrh.intelequia.com/2012/10/configurando-web-platform-installer-y.html"&gt;esta entrada de mi blog&lt;/a&gt; para m&amp;aacute;s informaci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;Por supuesto, si eres uno de los afortunados que esta semana se van a dar un salto al &lt;a target="_blank" href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012.aspx"&gt;DNN World Conference 2012&lt;/a&gt; en Orlando, no puedes dejar pasar la oportunidad de ver estas y otras caracter&amp;iacute;sticas en &lt;a target="_blank" href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012/Sessions.aspx"&gt;las sesiones&lt;/a&gt; dedicadas al despliegue y funcionamiento de DotNetNuke sobre Windows Azure de manos de &lt;a target="_blank" href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012/Speaker.aspx#JoeBrinkman"&gt;Joe Brinkman&lt;/a&gt; y &lt;a target="_blank" href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012/Speaker.aspx#AaronHayon"&gt;Aaron Hayon&lt;/a&gt;.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a target="_blank" href="http://dnnazureaccelerator.codeplex.com/releases/view/95942"&gt;&lt;span style="font-size:medium;background-color:#000000;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;a target="_blank" href="http://dnnazureaccelerator.codeplex.com/releases/view/95942"&gt;&lt;span style="font-size:medium;"&gt;&lt;strong&gt;Descargar DNN Azure Accelerator 6.3&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nuevas caracter&amp;iacute;sticas&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A&amp;ntilde;adido soporte SMTP&lt;/strong&gt;: A&amp;ntilde;adida una &lt;em&gt;startup task&lt;/em&gt; para configurar el servicio SMTP en los webroles. Ahora puedes usar LOCALHOST como servidor SMTP eliminando la necesidad de usar un servidor SMTP de terceros&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A&amp;ntilde;adida caracter&amp;iacute;stica &amp;quot;post-install&amp;quot; addons&lt;/strong&gt;: si especificas en el archivo de configuraci&amp;oacute;n del servicio una Url apuntando a un fichero .zip, despu&amp;eacute;s de que el webrole se haya desplegado exitosamente &amp;eacute;ste es descargado y descomprimido en la carpeta de contenidos de DotNetNuke manteniendo la misma estructura de carpetas y archivos y sobreescribiendo los contenidos. Esta caracter&amp;iacute;stica es muy &amp;uacute;til en escenarios donde se quiere a&amp;ntilde;adir de manera automatizada diferentes ficheros, dependencias, etc. a una instalaci&amp;oacute;n de DotNetNuke. &amp;Uacute;sala a tu propia discreci&amp;oacute;n&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A&amp;ntilde;adido soporte SSL&lt;/strong&gt;: si bien el asistente no incluye un paso para configurar esta caracter&amp;iacute;stica, el paquete de servicio lo soporta completamente. Para configurar manualmente SSL en tu fichero de configuraci&amp;oacute;n, por favor lee este hilo &lt;a href="http://dnnazureaccelerator.codeplex.com/discussions/359504"&gt;http://dnnazureaccelerator.codeplex.com/discussions/359504&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A&amp;ntilde;adido soporte Web Platform Installer&lt;/strong&gt;: se ha agregado una nueva tarea de inicio en los webroles para habilitar la instalaci&amp;oacute;n de productos y dependencias a trav&amp;eacute;s de WebPI, como MVC3, WebDeploy, etc. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A&amp;ntilde;adido soporte WebDeploy&lt;/strong&gt;: se ha a&amp;ntilde;adido una nueva casilla de verificaci&amp;oacute;n en el paso de configuraci&amp;oacute;n de Escritorio Remoto para poder habilitar WebDeploy. A trav&amp;eacute;s del uso de la nueva caracter&amp;iacute;stica de Web Platform Installer, al habilitar WebDeploy &amp;ndash;nota que habilitar esta caracter&amp;iacute;stica incremente cerca de 10 minutos el despliegue de las VM- puedes acceder a tu sitio usando herramientas como WebMatrix o otras herramientas de l&amp;iacute;nea de comandos como la propia de WebDeploy para copiar y/o modificar ficheros o crear y restablecer tus copias de seguridad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Correcciones&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modificada la manera de refrescar las suscripciones vigentes en Azure: se ha descontinuado la descarga autom&amp;aacute;tica y este procedimiento ahora hay que realizarlo manualmente adem&amp;aacute;s de tener que importar el fichero. Esto es debido a cambios no compatibles en el sistema de autenticaci&amp;oacute;n de Windows Azure al unificarse la federaci&amp;oacute;n de dominios en &lt;a target="_blank" href="https://www.windowsazure.com/en-us/home/features/identity/"&gt;Windows Azure Active Directory&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Los paquetes se han actualizado al &amp;uacute;tlimo Azure SDK 1.7 de Junio de 2012&lt;/li&gt;
&lt;li&gt;Corregido el paquete SMB&lt;/li&gt;
&lt;li&gt;Corregidas diversas referencias para usar los &amp;uacute;ltimos ensamblados&lt;/li&gt;
&lt;li&gt;Corregida una incidencia por la que la contrase&amp;ntilde;a del usuario &amp;ldquo;fileshareuser&amp;rdquo; se estaba caducando despu&amp;eacute;s de un mes, impidiendo compartir los archivos a trav&amp;eacute;s del servidor SMB&lt;/li&gt;
&lt;li&gt;Corregido una incidencia en el asistente en el paso de verificaci&amp;oacute;n del despliegue (&amp;quot;No deployments were found&amp;quot;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Que lo disfrut&amp;eacute;is!&lt;/p&gt;
&lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207052" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>DotNetNuke Azure Accelerator 6.3 Released!</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/10/08/dotnetnuke-azure-accelerator-6-3-released.aspx</link><pubDate>Mon, 08 Oct 2012 15:22:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207051</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=207051</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/10/08/dotnetnuke-azure-accelerator-6-3-released.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukePoweredWA.jpg"&gt;&lt;img title="DotNetNukePoweredWA" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="DotNetNukePoweredWA" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukePoweredWA_5F00_thumb.jpg" width="193" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Since a few minutes ago the new version 6.3 of the DotNetNuke deployment wizard on Windows Azure in PaaS mode is available on CodePlex. In this new version there are a number of very interesting new features as well as the correction of certain issues that have arisen since the last packaging.&lt;/p&gt;  &lt;p&gt;One of the most interesting new features from the administrative point of view is the new WebDeploy support on our websites deployed on Azure PaaS. I recommend you take a look &lt;a href="http://davidjrh.intelequia.com/2012/10/configurando-web-platform-installer-y.html" target="_blank"&gt;at this post for more information&lt;/a&gt; (use the translate controls in the right panel).&lt;/p&gt;  &lt;p&gt;Of course, if you are one of the lucky ones going to the &lt;a href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012.aspx" target="_blank"&gt;DNN World Conference 2012&lt;/a&gt; in Orlando, you can not miss the chance to see these and other features in the sessions dedicated to the deployment of DotNetNuke on Windows Azure from the hands of &lt;a href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012/Speaker.aspx#JoeBrinkman" target="_blank"&gt;Joe Brinkman&lt;/a&gt; and &lt;a href="http://www.dotnetnuke.com/News/Events/DotNetNuke-World-2012/Speaker.aspx#AaronHayon" target="_blank"&gt;Aaron Hayon&lt;/a&gt;.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/95942" target="_blank"&gt;&lt;font style="background-color:#000000;" size="4"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;a href="http://dnnazureaccelerator.codeplex.com/releases/view/95942" target="_blank"&gt;&lt;font size="4"&gt;&lt;strong&gt;Download DNN Azure Accelerator 6.3&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;New Features&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Added SMTP support&lt;/strong&gt;: added a new startup task to setup and configure the localhost SMTP server on the webroles. Now you can use LOCALHOST as SMTP server without the need of using a 3rd party SMTP server&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Added &amp;quot;post-install&amp;quot; addons feature&lt;/strong&gt;: if an url pointing to a .zip file is specified in the service configuration file, after the successful start of the SMB server the .zip file will be downloaded and decompressed into the DotNetNuke folder maintaining the same files and folder architecture and overwriting contents. This is an useful feature to add in an automated way 3rd party files, dependencies, etc. to a DotNetNuke clean install. Use it as you wish.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Added SSL binding support:&lt;/strong&gt; the Accelerator wizard does not include a step to setup this yet, but the work is done in the package. To manually setup SSL on your service configuration file, please read this thread &lt;a href="http://dnnazureaccelerator.codeplex.com/discussions/359504"&gt;http://dnnazureaccelerator.codeplex.com/discussions/359504&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Added Web Platform Installer support:&lt;/strong&gt; a new startup task has been added to enable WebPI products installations and dependencies, like MVC3, WebDeploy, etc. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Added WebDeploy support&lt;/strong&gt;: a new checkbox has been added in the Remote Desktop setup step, in order to enable WebDeploy. Using the new Web Plaform Installer feature, with Web Deploy enabled (note that enabling this feature takes about 10 more minutes for the VM deployment), you can access to your site using tools like WebMatrix or other command line tools like WebDeploy&amp;#39;s command line utility, in order to copy or modify files or create your own backups.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Fixes&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Changed the way to import the publish settings file: discontinued the automatic download while refreshing the subscription data, you have to manually download and import the file in the wizard. &lt;/li&gt;    &lt;li&gt;The packages are using the latest Azure SDK 1.7 (June 2012)&lt;/li&gt;    &lt;li&gt;Fixed the packageUrl on the SMB package&lt;/li&gt;    &lt;li&gt;Fixed references to use latest versions&lt;/li&gt;    &lt;li&gt;Fixed an issue causing the &amp;quot;fileshare&amp;quot; user&amp;#39;s password being expired after a month&lt;/li&gt;    &lt;li&gt;Fixed an issue on the wizard&amp;#39;s verification step while deploying (&amp;quot;No deployments were found&amp;quot;)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;Un saludo and Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207051" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>Configurando Web Platform Installer y WebDeploy en un Azure WebRole</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/10/02/configurando-webdeploy-en-un-azure-webrole.aspx</link><pubDate>Tue, 02 Oct 2012 18:13:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206989</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=206989</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/10/02/configurando-webdeploy-en-un-azure-webrole.aspx#comments</comments><description>&lt;p&gt;Despu&amp;eacute;s de pasarme m&amp;aacute;s de tres d&amp;iacute;as intentando resolver una incidencia al configurar&amp;nbsp; WebDeploy en un Azure WebRole &amp;ndash;concretamente a&amp;ntilde;adiendo dicha caracter&amp;iacute;stica al &lt;a href="http://dnnazureaccelerator.codeplex.com/"&gt;DNN Azure Accelerator&lt;/a&gt;-, no me queda m&amp;aacute;s remedio que documentar y compartir la soluci&amp;oacute;n para aliviar el sufrimiento a quien le pueda suceder algo parecido. &lt;/p&gt;
&lt;h3&gt;&amp;iquest;Para qu&amp;eacute; WebDeploy?&lt;/h3&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.iis.net/downloads/microsoft/web-deploy"&gt;&lt;img height="202" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WebDeployVideo_5F00_3.png" align="right" alt="WebDeployVideo" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="WebDeployVideo" /&gt;&lt;/a&gt;Web Deploy simplifica el despliegue de aplicaciones y sitios web en servidores IIS. Se puede usar para sincronizar servidores IIS o migrar a nuevas versiones del mismo &amp;ndash;por ejemplo, migrar de un entorno on-premise a la nube o viceversa. &lt;/p&gt;
&lt;p&gt;Permite realizar operaciones de empaquetado y despliegue de aplicaciones web de una manera sencilla, integr&amp;aacute;ndose perfectamente con&amp;nbsp; herramientas como Visual Studio o &lt;a target="_blank" href="http://www.microsoft.com/web/webmatrix/"&gt;WebMatrix&lt;/a&gt; para ayudar a los desarrolladores en esta tarea. Se pueden empaquetar tanto contenido de las aplicaciones, configuraci&amp;oacute;n, bases de datos y cualquier otro artefacto como entradas en el registro, objetos COM, ensamblados en la GAC etc. pudi&amp;eacute;ndose parametrizar los valores de configuraci&amp;oacute;n seg&amp;uacute;n entorno. Una vez empaquetados estos paquetes se pueden utilizar usando una aplicaci&amp;oacute;n de comandos de Web Deploy o IIS Manager sin requerir privilegios administrativos. &lt;/p&gt;
&lt;p&gt;Con la salida de Web Deploy 3.0, tenemos una serie de interesantes caracter&amp;iacute;sticas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Migraci&amp;oacute;n de servidores web desde IIS6 a IIS 7&amp;nbsp;o IIS 8 &lt;/li&gt;
&lt;li&gt;Sincronizaci&amp;oacute;n eficiente de tu granja de servidores &lt;/li&gt;
&lt;li&gt;Integraci&amp;oacute;n con Visual Studio y &lt;a target="_blank" href="http://www.microsoft.com/web/webmatrix/"&gt;WebMatrix&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Integraci&amp;oacute;n con Web Platform Installer para instalar aplicaciones web de la comunidad &lt;/li&gt;
&lt;li&gt;Empaquetado de aplicaciones web, incluyendo las bases de datos asociadas, ACLs, COM, GAC, etc. &lt;/li&gt;
&lt;li&gt;Despliegue de aplicaciones web sin requerir permisos administrativos, pudiendo parametrizar la configuraci&amp;oacute;n en cada entorno, as&amp;iacute; como &lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;integraci&amp;oacute;n con el IIS Web Management Service (WMSVC)&lt;/span&gt;&lt;/strong&gt; para despliegue remoto por usuarios no administradores &lt;/li&gt;
&lt;li&gt;Sincronizaci&amp;oacute;n y migraci&amp;oacute;n de servidores web, sincronizando s&amp;oacute;lo los datos que han sido modificados &lt;/li&gt;
&lt;li&gt;Copia de seguridad autom&amp;aacute;tica de los sitios web antes de realizar ning&amp;uacute;n cambio &lt;/li&gt;
&lt;li&gt;Acceso a trav&amp;eacute;s de IIS Manager, Visual Studio, WebMatrix, l&amp;iacute;nea de comandos, PowerShell Cmdlets y APIs. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&amp;iquest;Por qu&amp;eacute; en el DNN Azure Accelerator?&lt;/h3&gt;
&lt;p&gt;Como os pod&amp;eacute;is imaginar, a&amp;ntilde;adir esta caracter&amp;iacute;stica al &lt;a target="_blank" href="http://dnnazureaccelerator.codeplex.com/"&gt;DNN Azure Accelerator&lt;/a&gt; va a permitir realizar una serie de tareas administrativas no disponibles hasta ahora. Se me vienen a la mente unas cuantas, aunque por nombrar algunas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Posibilidad de migrar la instancia de DNN de un IIS a otro. Esto incluye migrar desde on-premise a Azure &amp;ndash;ya sea Azure WebSites o PaaS-, de Azure WebSites a Azure PaaS &amp;oacute; viceversa, etc. &lt;/li&gt;
&lt;li&gt;Acceder y modificar el contenido del site a trav&amp;eacute;s de &lt;a target="_blank" href="http://www.microsoft.com/web/webmatrix/"&gt;WebMatrix&lt;/a&gt;, &amp;iexcl;sin tener que acceder por RDP a las instancias en Azure ni tener que montar el VHD drive con Azure Connect! &lt;/li&gt;
&lt;li&gt;Instalar actualizaciones de DotNetNuke, simplemente desplegando el paquete de upgrade a trav&amp;eacute;s de WebDeploy y ejecutando el asistente de actualizaci&amp;oacute;n &lt;/li&gt;
&lt;li&gt;Crear y restaurar copias de seguridad de nuestro sitio &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Como v&amp;eacute;is, son unas buenas razones para a&amp;ntilde;adir esta caracter&amp;iacute;stica, que estar&amp;aacute; disponible en la pr&amp;oacute;xima release del asistente de DNN Azure Accelerator &amp;ndash;&lt;a target="_blank" href="http://dnnazureaccelerator.codeplex.com/SourceControl/changeset/view/18482"&gt;el c&amp;oacute;digo ya est&amp;aacute; disponible en CodePlex&lt;/a&gt; por si no quieres esperar al empaquetado. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WizardStepWebDeploy_5F00_2.png"&gt;&lt;img height="321" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/WizardStepWebDeploy_5F00_thumb.png" alt="WizardStepWebDeploy" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="WizardStepWebDeploy" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Tres d&amp;iacute;as para a&amp;ntilde;adir esta caracter&amp;iacute;stica? &lt;/h3&gt;
&lt;p&gt;No s&amp;oacute;lo tres d&amp;iacute;as sino adem&amp;aacute;s unos 50 despliegues para poner en funcionamiento la misma, debido a hab&amp;iacute;a Luna llena en Aries y dos errores muy interesantes. &lt;/p&gt;
&lt;p&gt;Pero antes que nada, echemos un vistazo a c&amp;oacute;mo est&amp;aacute; implementado. Para a&amp;ntilde;adir esta caracter&amp;iacute;stica sin disparar una l&amp;iacute;nea de c&amp;oacute;digo &amp;ndash;sin contar los cambios de interfaz en el asistente de instalaci&amp;oacute;n-, el enfoque fue el siguiente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A&amp;ntilde;adir un EndPoint en los web roles para permitir el tr&amp;aacute;fico a trav&amp;eacute;s del puerto 8172 &lt;/li&gt;
&lt;li&gt;Incorporar la &lt;a target="_blank" href="http://www.iis.net/learn/install/web-platform-installer/web-platform-installer-v4-command-line-webpicmdexe-preview-release_1072"&gt;aplicaci&amp;oacute;n de comandos de Web Platform Installer&lt;/a&gt; WebPICMD.exe en una startup task del webrole, para automatizar la instalaci&amp;oacute;n de WebDeploy. Esto permite, adem&amp;aacute;s de no incrementar el tama&amp;ntilde;o del paquete de servicio del Accelerator, instalar del mismo modo cualquier otro paquete disponible y que requiera nuestro despliegue, como MVC3, Silverlight, node.js, etc. &lt;/li&gt;
&lt;li&gt;Habilitar el servicio de administraci&amp;oacute;n remota de IIS en una startup task del webrole &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Problema n&amp;ordm;1: Web Platform Installer no consigue instalar el paquete de WebDeploy&lt;/h4&gt;
&lt;p&gt;Tras intentar instalar el paquete de WebDeploy con una instrucci&amp;oacute;n como la siguiente, el webrole se quedaba ciclado por un error en la ejecuci&amp;oacute;n de la tarea:&lt;/p&gt;
&lt;div style="overflow:auto;cursor:text;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;text-align:left;margin:20px 0px 10px;line-height:12pt;max-height:200px;width:97.5%;background-color:#f4f4f4;border:silver 1px solid;padding:4px;" id="codeSnippetWrapper"&gt;
&lt;div style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; ~dp0WebPICMD.exe /Install /Products:WDeploy /AcceptEULA&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Despu&amp;eacute;s de a&amp;ntilde;adir los correspondientes logs &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/windowsazure/jj129545.aspx"&gt;siguiendo las buenas pr&amp;aacute;cticas&lt;/a&gt;, el problema se trataba de que al intentar descomprimir los paquetes de instalaci&amp;oacute;n una vez que se han descargado, da un error. Este error es debido a que las tareas elevadas se ejecutan como &amp;ldquo;NT AUTHORITY\SYSTEM&amp;rdquo;, cuya carpeta de perfil de usuario se encuentra bajo el directorio &amp;ldquo;system32&amp;rdquo;. Esto es especial, ya que en m&amp;aacute;quinas de 64bits (como todas las VMs de Windows Azure), los procesos de 64bits ven esta carpeta, pero los procesos de 32bits ven la carpeta &amp;ldquo;SysWOW64). Los paquetes de WebDeploy se descargan en la carpeta &amp;ldquo;system32&amp;rdquo; al ser WebPICMD.exe de 64bits, pero algunas dependencias usan un ejecutable auto-extraible de 32bits, dando origen al error descrito. &lt;/p&gt;
&lt;p&gt;Para solucionar este error, la &amp;uacute;nica referencia en la web es la de nuestro &amp;Aacute;ngel de la Guarda Steve Marx en el post &amp;ldquo;&lt;a target="_blank" href="http://blog.smarx.com/posts/windows-azure-startup-tasks-tips-tricks-and-gotchas"&gt;Windows Azure Startup Tasks Tips and Tricks&lt;/a&gt;&amp;rdquo;, donde se da m&amp;aacute;s detalle del mismo. &lt;/p&gt;
&lt;p&gt;De este modo, la&lt;strong&gt; soluci&amp;oacute;n al problema 1&lt;/strong&gt; es cambiar en la registry la ubicaci&amp;oacute;n de esta carpeta antes de ejecutar la instalaci&amp;oacute;n y dejarla como estaba despu&amp;eacute;s de la misma. Quedar&amp;iacute;a de la siguiente forma:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;font-family:Courier New;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="overflow:auto;cursor:text;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;text-align:left;margin:20px 0px 10px;line-height:12pt;max-height:200px;width:97.5%;background-color:#f4f4f4;border:silver 1px solid;padding:4px;" id="codeSnippetWrapper"&gt;
&lt;div style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; md &lt;span style="color:#006080;"&gt;&amp;quot;%~dp0appdata&amp;quot;&lt;/span&gt; &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; reg add &lt;span style="color:#006080;"&gt;&amp;quot;hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders&amp;quot;&lt;/span&gt; /v &lt;span style="color:#006080;"&gt;&amp;quot;Local AppData&amp;quot;&lt;/span&gt; /t REG_EXPAND_SZ /d &lt;span style="color:#006080;"&gt;&amp;quot;%~dp0appdata&amp;quot;&lt;/span&gt; /f &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;%~dp0webpicmd&amp;quot;&lt;/span&gt; /Install /Products:WDeploy /AcceptEula &amp;gt;&amp;gt;log.txt 2&amp;gt;&amp;gt;err.txt &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt; reg add &lt;span style="color:#006080;"&gt;&amp;quot;hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders&amp;quot;&lt;/span&gt;/v &lt;span style="color:#006080;"&gt;&amp;quot;Local AppData&amp;quot;&lt;/span&gt; /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;La segunda tarea de instalar el servicio de administraci&amp;oacute;n remota era muy sencilla, simplemente habilitar esta caracter&amp;iacute;stica en la VM y arrancar el servicio, no sin antes tocar alg&amp;uacute;n par&amp;aacute;metro en el registro de Windows:&lt;/p&gt;
&lt;div style="overflow:auto;cursor:text;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;text-align:left;margin:20px 0px 10px;line-height:12pt;max-height:200px;width:97.5%;background-color:#f4f4f4;border:silver 1px solid;padding:4px;" id="codeSnippetWrapper"&gt;
&lt;div style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;" id="codeSnippet"&gt;
&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; start /w ocsetup IIS-ManagementService  &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:#f4f4f4;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server /v EnableRemoteManagement /t REG_DWORD /d 1 /f  &lt;/pre&gt;

&lt;pre style="overflow:visible;font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;color:black;direction:ltr;text-align:left;margin:0em;line-height:12pt;width:100%;background-color:white;border-style:none;padding:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt; net start wmsvc  &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Problema n&amp;ordm;2: al intentar conectar a trav&amp;eacute;s de WebMatrix desde dentro o fuera de la VM, aparece el error &amp;ldquo;Unable to establish connection&amp;rdquo;&lt;/h4&gt;
&lt;p&gt;Este fue muy &amp;ldquo;gracioso&amp;rdquo;, por el n&amp;uacute;mero de horas que tuve que dedicarle el fin de semana y por los m&amp;aacute;s de otros 30 despliegues m&amp;aacute;s probando otras alternativas. Digo gracioso por cu&amp;aacute;l fue la soluci&amp;oacute;n. &lt;/p&gt;
&lt;p&gt;El s&amp;iacute;ntoma era que una vez que las startup tasks realizaron su trabajo (el puerto 8172 abierto, se instal&amp;oacute; correctamente WebDeploy y estaba habilitado el servicio IIS Remote Management), al intentar conectar a trav&amp;eacute;s de WebMatrix, me aparec&amp;iacute;a el warning de advertencia de que no confiaba en el certificado del servidor &amp;ndash;cosa totalmente correcta-, pero a continuaci&amp;oacute;n me aparec&amp;iacute;a el mensaje &amp;ldquo;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Unable to establish connection&lt;/span&gt;&lt;/strong&gt;&amp;rdquo;:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/UnableToConnect_5F00_2.png"&gt;&lt;img height="315" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/UnableToConnect_5F00_thumb.png" alt="UnableToConnect" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="UnableToConnect" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;El puerto 8172 abierto, las credenciales correctas, el nombre del sitio correcto &amp;ndash;n&amp;oacute;tese que desde esta release el site en IIS se denomina &amp;ldquo;DotNetNuke&amp;rdquo;-, la URL correcta y nombre de servidor correctos. &amp;iquest;Qu&amp;eacute; fallaba?&lt;/p&gt;
&lt;p&gt;Despu&amp;eacute;s de intentar ver algo en el visor de sucesos remoto, comenzar a utilizar artiller&amp;iacute;a &amp;ndash;PSTools, Fiddler, etc.- nada concluyente. La &amp;uacute;nica informaci&amp;oacute;n diferente era la otorgada por la &lt;a target="_blank" href="http://technet.microsoft.com/es-es/library/dd569106(v=ws.10).aspx"&gt;aplicaci&amp;oacute;n de consola &amp;ldquo;msdeploy.exe&amp;rdquo;,&lt;/a&gt; devolviendo el c&amp;oacute;digo de error &amp;ldquo;ERROR_DESTINATION_NOT_REACHABLE&amp;rdquo; seguido de un precioso &amp;ldquo;404 Not Found&amp;rdquo;. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DESTINATION_5F00_UNREACHABLE_5F00_2.png"&gt;&lt;img height="156" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DESTINATION_5F00_UNREACHABLE_5F00_thumb.png" alt="DESTINATION_UNREACHABLE" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" title="DESTINATION_UNREACHABLE" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sin m&amp;aacute;s informaci&amp;oacute;n ni nada interesante tras dos d&amp;iacute;as de b&amp;uacute;squeda por foros t&amp;eacute;cnicos, casi da verg&amp;uuml;enza comentar la soluci&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;La &lt;strong&gt;soluci&amp;oacute;n al problema 2 &lt;/strong&gt;es simplemente cambiar el orden de las startup tasks, esto es, instalar primero IIS Management Service y a continuaci&amp;oacute;n instalar Web Deploy. Parece que al contrario, Web Deploy no se registra correctamente y hay que reinstalarlo. &lt;/p&gt;
&lt;p&gt;La conclusi&amp;oacute;n mereci&amp;oacute; un tweet:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/BecauseOrderMatters_5F00_2.png"&gt;&lt;img height="71" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/BecauseOrderMatters_5F00_thumb.png" alt="BecauseOrderMatters" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="BecauseOrderMatters" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Conclusi&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Espero que sirva de ayuda, tanto la nueva caracter&amp;iacute;stica de WebDeploy en el DNN Azure Accelerator como las soluciones a los problemas encontrados. En breve estar&amp;aacute; todo empaquetado en una nueva release con muchas novedades aparte de esta.&lt;/p&gt;
&lt;p&gt;Un saludo y happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206989" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/WebMatrix/default.aspx">WebMatrix</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>DotNetNuke on Azure: from A to Zure</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/09/20/dotnetnuke-on-azure-from-a-to-zure.aspx</link><pubDate>Thu, 20 Sep 2012 20:00:04 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206821</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=206821</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/09/20/dotnetnuke-on-azure-from-a-to-zure.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukePoweredWA.jpg"&gt;&lt;img title="DotNetNukePoweredWA" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="DotNetNukePoweredWA" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukePoweredWA_5F00_thumb.jpg" width="193" height="240" /&gt;&lt;/a&gt;What a title to begin a post! It is actually something that I&amp;#39;ve been trying to take for some time: start a series of posts dedicated to the publication of the well-known CMS &lt;a href="http://www.dotnetnuke.com"&gt;DotNetNuke&lt;/a&gt; on the &lt;a href="http://www.windowsazure.com"&gt;Windows Azure&lt;/a&gt; platform commenting on each of the aspects, since the creation of the portal to the management of updates and post-maintenance, bringing each one of the tricks I&amp;#39;ve been finding over these past two years.&lt;/p&gt;  &lt;p&gt;After having some &amp;quot;break-in&amp;quot; in the matter and after seeing confused people with the new &lt;a href="http://davidjrh.visibli.com/c512ed81d16850c5/?web=eacb94&amp;amp;dst=https%3A//www.windowsazure.com/en-us/home/scenarios/web-sites/"&gt;Windows Azure Websites&lt;/a&gt; and the &lt;a href="http://davidjrh.visibli.com/c512ed81d16850c5/?web=eacb94&amp;amp;dst=https%3A//www.windowsazure.com/en-us/home/scenarios/virtual-machines/"&gt;Virtual Machines&lt;/a&gt; (IaaS) options, adding to the already mature platform PaaS (&lt;a href="http://davidjrh.visibli.com/c512ed81d16850c5/?web=eacb94&amp;amp;dst=https%3A//www.windowsazure.com/en-us/home/scenarios/cloud-services/"&gt;Cloud Services&lt;/a&gt; with the &lt;a href="http://davidjrh.visibli.com/c512ed81d16850c5/?web=eacb94&amp;amp;dst=http%3A//dnnazureaccelerator.codeplex.com/"&gt;DotNetNuke Azure Accelerator&lt;/a&gt;), I found almost every day answering questions about the basics of Windows Azure and others not as basic as how to perform backups depending on the choice made.&lt;/p&gt;  &lt;p&gt;That is why, after making me a &lt;em&gt;harakiri&lt;/em&gt; while planning my little free time, I decided to start this idea plus writing about other topics. They will both be written in Spanish as in English –perhaps with one day of difference- to increase the audience.&lt;/p&gt;  &lt;p&gt;The number of initial blogs that I have in mind will be focused on the operational aspects of hosting DotNetNuke CE on Azure and &lt;u&gt;&lt;strong&gt;I accept any suggestion&lt;/strong&gt;&lt;/u&gt;. It is to make an interactive series where we clarify issues that may be obvious to some and not to others.&lt;/p&gt;  &lt;p&gt;The second series of entries that I thought is about the specific development of DNN modules hosted in Windows Azure, which of course, will not have much sense without having earlier begun the previous.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzurePlatformSiteHostingOptions_5F00_2.png"&gt;&lt;img title="AzurePlatformSiteHostingOptions" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" border="0" alt="AzurePlatformSiteHostingOptions" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzurePlatformSiteHostingOptions_5F00_thumb.png" width="300" height="112" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The initial series is as follows:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;What is DotNetNuke? What is Windows Azure? And DotNetNuke on Azure? &lt;/li&gt;    &lt;li&gt;Azure Websites, Virtual Machines, or Cloud Services: what to choose? &lt;/li&gt;    &lt;li&gt;SQL Server Virtual Machines or SQL Azure: what to choose? &lt;/li&gt;    &lt;li&gt;DotNetNuke on Azure Websites: deploying the content management system &lt;/li&gt;    &lt;li&gt;DotNetNuke on Azure Websites: upgrade management &lt;/li&gt;    &lt;li&gt;DotNetNuke on Azure Websites: making changes with WebMatrix 2 &lt;/li&gt;    &lt;li&gt;DotNetNuke on Azure Websites: integrating with TFS and Git &lt;/li&gt;    &lt;li&gt;DotNetNuke on Azure Websites: scaling our website &lt;/li&gt;    &lt;li&gt;DotNetNuke on Virtual Machines: deploying the content management system &lt;/li&gt;    &lt;li&gt;DotNetNuke on Virtual Machines: upgrade management &lt;/li&gt;    &lt;li&gt;DotNetNuke on Virtual Machines: enabling the FTP, SMTP, and other services &lt;/li&gt;    &lt;li&gt;DotNetNuke on Virtual Machines: sending backups to Azure Storage &lt;/li&gt;    &lt;li&gt;DotNetNuke on Virtual Machines: scaling our website &lt;/li&gt;    &lt;li&gt;DotNetNuke in Cloud Services: deploying the content management system &lt;/li&gt;    &lt;li&gt;DotNetNuke in Cloud Services: upgrade management &lt;/li&gt;    &lt;li&gt;DotNetNuke in Cloud Services: customizing the service package &lt;/li&gt;    &lt;li&gt;DotNetNuke in Cloud Services: scaling our website &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;As you can see, the thing have crumbs. Tomorrow I will be starting with the first entries and you know, if you have any suggestions to add some chapters, are welcome.&lt;/p&gt;  &lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206821" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category></item><item><title>DotNetNuke en Azure: de la A a la Zure</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/09/20/dotnetnuke-en-azure-de-la-a-a-la-zure.aspx</link><pubDate>Thu, 20 Sep 2012 19:28:49 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206820</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=206820</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/09/20/dotnetnuke-en-azure-de-la-a-a-la-zure.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukePoweredWA.jpg"&gt;&lt;img title="DotNetNukePoweredWA" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="DotNetNukePoweredWA" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DotNetNukePoweredWA_5F00_thumb.jpg" width="193" height="240" /&gt;&lt;/a&gt;¡Menudo título para comenzar un post! En realidad es algo que llevo intentando emprender desde hace algún tiempo: comenzar una serie de entradas dedicadas a la publicación del archiconocido gestor de contenidos &lt;a href="http://www.dotnetnuke.com"&gt;DotNetNuke&lt;/a&gt; sobre la plataforma &lt;a href="http://www.windowsazure.com"&gt;Windows Azure&lt;/a&gt; comentando cada uno de los aspectos, desde la creación del portal hasta la gestión de actualizaciones y mantenimiento del mismo, aportando cada uno de los trucos que he ido encontrándome durante estos dos últimos años.&lt;/p&gt;  &lt;p&gt;Después de tener cierto “rodaje” en la materia y después de ver gente algo confundida ahora que tenemos en modo Preview las &lt;a href="https://www.windowsazure.com/en-us/home/scenarios/web-sites/"&gt;Windows Azure Websites&lt;/a&gt; y las &lt;a href="https://www.windowsazure.com/en-us/home/scenarios/virtual-machines/"&gt;Virtual Machines&lt;/a&gt; (IaaS) sumándose a la ya madura plataforma PaaS (&lt;a href="https://www.windowsazure.com/en-us/home/scenarios/cloud-services/"&gt;Cloud Services&lt;/a&gt; con el &lt;a href="http://dnnazureaccelerator.codeplex.com/"&gt;DotNetNuke Azure Accelerator&lt;/a&gt;), me he encontrado respondiendo casi a diario cuestiones sobre aspectos básicos de Windows Azure y otros no tan básicos como la manera de realizar copias de seguridad dependiendo de la elección realizada. &lt;/p&gt;  &lt;p&gt;Es por ello que, después de hacerme un &lt;em&gt;harakiri&lt;/em&gt; con la planificación de mi poco tiempo libre, he decidido poner en marcha esta idea a la vez que voy escribiendo sobre otros temas. Estarán escritos tanto en español como en inglés –puede que alguno u otro esté con un día de diferencia- para ampliar la audiencia.&lt;/p&gt;  &lt;p&gt;La serie de blogs inicial que tengo en mente irá centrada sobre los aspectos operativos de alojar DotNetNuke CE sobre Azure y &lt;strong&gt;&lt;u&gt;acepto cualquier sugerencia&lt;/u&gt;&lt;/strong&gt;. Se trata de hacer una serie interactiva donde aclararemos cuestiones que pueden ser evidentes para algunos y no tanto para otros. &lt;/p&gt;  &lt;p&gt;La segunda serie de entradas que tengo en pensada es sobre el desarrollo específico de módulos DNN alojados en Windows Azure que claro está, no tendrá mucho sentido sin antes haber comenzado la anterior.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzurePlatformSiteHostingOptions_5F00_2.png"&gt;&lt;img title="AzurePlatformSiteHostingOptions" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="AzurePlatformSiteHostingOptions" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/AzurePlatformSiteHostingOptions_5F00_thumb.png" width="300" height="112" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La serie inicial será la siguiente:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;¿Qué es DotNetNuke? ¿Qué es Windows Azure? ¿Y DotNetNuke sobre Azure? &lt;/li&gt;    &lt;li&gt;Azure Websites, Virtual Machines o Cloud Services: ¿qué elegir? &lt;/li&gt;    &lt;li&gt;SQL Server en Virtual Machines o SQL Azure: ¿qué elegir? &lt;/li&gt;    &lt;li&gt;DotNetNuke en Azure Websites: desplegando el gestor de contenidos &lt;/li&gt;    &lt;li&gt;DotNetNuke en Azure Websites: gestión de actualizaciones &lt;/li&gt;    &lt;li&gt;DotNetNuke en Azure Websites: realizando modificaciones con WebMatrix 2 &lt;/li&gt;    &lt;li&gt;DotNetNuke en Azure Websites: integrando con Git y TFS &lt;/li&gt;    &lt;li&gt;DotNetNuke en Azure Websites: escalando nuestro sitio web &lt;/li&gt;    &lt;li&gt;DotNetNuke en Virtual Machines: desplegando el gestor de contenidos &lt;/li&gt;    &lt;li&gt;DotNetNuke en Virtual Machines: gestión de actualizaciones &lt;/li&gt;    &lt;li&gt;DotNetNuke en Virtual Machines: activando FTP, SMTP y otros servicios &lt;/li&gt;    &lt;li&gt;DotNetNuke en Virtual Machines: enviando copias de seguridad a Azure Storage &lt;/li&gt;    &lt;li&gt;DotNetNuke en Virtual Machines: escalando nuestro sitio web &lt;/li&gt;    &lt;li&gt;DotNetNuke en Cloud Services: desplegando el gestor de contenidos &lt;/li&gt;    &lt;li&gt;DotNetNuke en Cloud Services: gestión de actualizaciones &lt;/li&gt;    &lt;li&gt;DotNetNuke en Cloud Services: personalizando el paquete de servicio &lt;/li&gt;    &lt;li&gt;DotNetNuke en Cloud Services: escalando nuestro sitio web &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Como veis, la cosa tiene miga. Mañana mismo comienzo con la primera de las entradas y ya sabéis, si tenéis alguna sugerencia con añadir algún capítulo, bienvenida sea.&lt;/p&gt;  &lt;p&gt;Un saludo y Happy Coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206820" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category></item><item><title>[Offtopic] Cómo instalar Canal+ YOMVI en Windows 8</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/09/12/offtopic-c-243-mo-instalar-canal-yomvi-en-windows-8.aspx</link><pubDate>Wed, 12 Sep 2012 18:52:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206724</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=206724</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/09/12/offtopic-c-243-mo-instalar-canal-yomvi-en-windows-8.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CanalPlusYomvi_5F00_2.jpg"&gt;&lt;img height="133" width="203" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CanalPlusYomvi_5F00_thumb.jpg" align="right" alt="CanalPlusYomvi" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="CanalPlusYomvi" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hoy toca escribir uno de esos posts que tienen los d&amp;iacute;as contados ya que supongo que Canal+ adoptar&amp;aacute; medidas en breve, pero espero que a alguno le ayude mientras tanto. &lt;/p&gt;
&lt;p&gt;Durante el pasado &lt;a href="http://megathonwindows8.azurewebsites.net/"&gt;Megathon de Windows 8&lt;/a&gt; coment&amp;eacute; que pr&amp;aacute;cticamente todas las aplicaciones que hoy en d&amp;iacute;a funcionan en Windows 7 se ejecutan sin problemas en Windows 8. Una de las que entran en la excepci&amp;oacute;n para confirmar la regla es la App de &lt;a href="http://www.plus.es/canalplusyomvi/"&gt;Canal+ Yomvi&lt;/a&gt; para poder ver en tu PC los contenidos de Canal Plus a los que est&amp;eacute;s suscrito (realmente no todo pero hasta 18 canales por el momento). Ya se hab&amp;iacute;a convertido en una de mis aplicaciones favoritas y hace meses atr&amp;aacute;s, cuando instal&amp;eacute; la Release Preview de Windows 8, no consegu&amp;iacute; echarla a andar correctamente ya que la imagen iba a tirones.&lt;/p&gt;
&lt;p&gt;Con la &lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;versi&amp;oacute;n RTM de Windows 8 y con los drivers actualizados de tu tarjeta de video&lt;/span&gt;&lt;/strong&gt;, hay un &amp;ldquo;workaround&amp;rdquo; para lograr instalar y ejecutar la aplicaci&amp;oacute;n correctamente:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Descargar la aplicaci&amp;oacute;n cliente de Canal+ Yomvi para PC desde este enlace: &lt;a href="http://www.plus.es/canalplusyomvi/descarga/"&gt;http://www.plus.es/canalplusyomvi/descarga/&lt;/a&gt;. F&amp;iacute;jate que si intentas instalar la aplicaci&amp;oacute;n te dar&amp;aacute; el siguiente error: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/YomviInstallError_5F00_2.jpg"&gt;&lt;img height="142" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/YomviInstallError_5F00_thumb.jpg" alt="YomviInstallError" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="YomviInstallError" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Descargar el descompresor 7-Zip desde la siguiente URL: &lt;a href="http://www.7-zip.org/download.html"&gt;http://www.7-zip.org/download.html&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Descomprimir el archivo ejecutable descargado en el Paso 1 pulsando con el bot&amp;oacute;n derecho del rat&amp;oacute;n, con lo que obtendremos el fichero de instalaci&amp;oacute;n &amp;ldquo;NagraMediaPlayer.msi&amp;rdquo; &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/NagraMediaPlayer_5F00_2.jpg"&gt;&lt;img height="47" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/NagraMediaPlayer_5F00_thumb.jpg" alt="NagraMediaPlayer" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="NagraMediaPlayer" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Iniciar la instalaci&amp;oacute;n haciendo doble click en el archivo y completar el asistente,&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt; indicando que cree el acceso directo en el escritorio: &lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/YomviInstallWizard_5F00_2.jpg"&gt;&lt;img height="313" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/YomviInstallWizard_5F00_thumb.jpg" alt="YomviInstallWizard" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="YomviInstallWizard" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Pulsando con el bot&amp;oacute;n derecho sobre el icono del escritorio, establecemos las siguientes propiedades en la &lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;pesta&amp;ntilde;a de Compatibilidad&lt;/strong&gt;&lt;/span&gt; &lt;ol&gt;
&lt;li&gt;Seleccionar modo de compatibilidad Windows 7 &lt;/li&gt;
&lt;li&gt;Ejecutar la aplicaci&amp;oacute;n como Administrador &lt;br /&gt;&lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CompatibilidadAccesoDirecto_5F00_2.jpg"&gt;&lt;img height="480" width="350" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/CompatibilidadAccesoDirecto_5F00_thumb.jpg" alt="CompatibilidadAccesoDirecto" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="CompatibilidadAccesoDirecto" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Ejecutar la aplicaci&amp;oacute;n e introducir los credenciales de tu suscripci&amp;oacute;n a Canal+ &lt;br /&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/YomviLoggedIn_5F00_2.jpg"&gt;&lt;img height="233" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/YomviLoggedIn_5F00_thumb.jpg" alt="YomviLoggedIn" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="YomviLoggedIn" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;A disfrutar! &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Como coment&amp;eacute; al principio, esta soluci&amp;oacute;n la hab&amp;iacute;a probado con la Release Preview de Windows 8 y la imagen me iba a tirones, cosa que parece solucionarse al poder instalar los correspondientes drivers de la tarjeta de video para la versi&amp;oacute;n RTM. Hay algunos enlaces y men&amp;uacute;s en la parte superior que parecen no funcionar como debieran (supongo que por que de alg&amp;uacute;n modo est&amp;aacute; utilizando el motor de IE10 incorrectamente), pero despu&amp;eacute;s de pasar por encima el rat&amp;oacute;n y hacer click puedes acceder a ellos sin problemas. &lt;/p&gt;
&lt;p&gt;Ya puedo seguir desarrollando mientras veo mi serie favorita &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" alt="Smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DesktopYomviCropped_5F00_2.jpg"&gt;&lt;img height="320" width="480" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/DesktopYomviCropped_5F00_thumb.jpg" alt="DesktopYomviCropped" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="DesktopYomviCropped" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Un saludo y Happy Coding! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206724" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>[Evento] Megathon Windows 8 en Tenerife</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/08/29/evento-megathon-windows-8-en-tenerife.aspx</link><pubDate>Wed, 29 Aug 2012 19:50:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206579</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=206579</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/08/29/evento-megathon-windows-8-en-tenerife.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-US/evalcenter/jj554510.aspx"&gt;&lt;img height="95" width="240" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Banner_5F00_1_5F00_3.jpg" align="right" alt="Banner_1" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:right;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" title="Banner_1" /&gt;&lt;/a&gt;Si a&amp;uacute;n no te has enterado es porque has pasado este verano totalmente desconectado, no hay otra explicaci&amp;oacute;n. El pr&amp;oacute;ximo 7, 8 y 9 de septiembre (fin de semana) se ha montado una gorda a nivel nacional y en 13 ciudades se desarrollar&amp;aacute; al mismo tiempo el primer Hackathon multiciudad en Espa&amp;ntilde;a. &lt;/p&gt;
&lt;p&gt;El Megathon Windows 8 es una ocasi&amp;oacute;n estupenda para aprender a desarrollar para Windows 8 (de hecho ya puedes hacerlo con toda la &lt;a href="http://megathonwindows8.azurewebsites.net/category/formacion"&gt;formaci&amp;oacute;n gratuita &lt;/a&gt;que se ha publicado en el sitio oficial del &lt;a href="http://megathonwindows8.azurewebsites.net"&gt;Megathon&lt;/a&gt;), para hacer networking con personas que comparten tus mismos intereses y para acabar el fin de semana con una app que rentabilizar en la Windows Store. &lt;/p&gt;
&lt;p&gt;Parti&amp;oacute; de una idea loca en Twitter sobre hacer un hackathon aprovechando la salida de Windows 8, que a trav&amp;eacute;s de un efecto mariposa &amp;ndash;y de ver qui&amp;eacute;n los ten&amp;iacute;a m&amp;aacute;s grandes, los megas me refiero-, acab&amp;oacute; convirti&amp;eacute;ndose en un hackathon multiciudad ahora denominado Megathon. En este &lt;a href="http://blogs.msdn.com/b/esmsdn/archive/2012/06/22/primer-hackathon-windows-8-multiciudad-el-megathonw8.aspx"&gt;post de Jose Bonnin&lt;/a&gt; tienes m&amp;aacute;s informaci&amp;oacute;n de c&amp;oacute;mo empez&amp;oacute; todo.&lt;/p&gt;
&lt;h3&gt;&amp;iquest;En qu&amp;eacute; consiste?&lt;/h3&gt;
&lt;p&gt;En resumen, en cada ciudad se crear&amp;aacute;n grupos de 4 desarrolladores/dise&amp;ntilde;adores para crear una aplicaci&amp;oacute;n para Windows 8 a contrarreloj durante el fin de semana, ya sea con .NET, Javacript+HTML y cualquier a&amp;ntilde;adido (&amp;iquest;Windows Azure? &amp;iquest;Bing?). No estar&amp;eacute;is solos, habr&amp;aacute;n varios mentores por ciudad ofreciendo apoyo t&amp;eacute;cnico as&amp;iacute; como impartiendo diversas charlas en paralelo.&lt;/p&gt;
&lt;p&gt;El domingo por la tarde, se votar&amp;aacute; la aplicaci&amp;oacute;n ganadora accediendo a unos premios locales a trav&amp;eacute;s de un jurado local. Las aplicaciones que hayan ganado en cada ciudad participar&amp;aacute;n en el &lt;a href="http://megathonwindows8.azurewebsites.net/2012/08/02/jurado/"&gt;concurso nacional&lt;/a&gt;, con la posibilidad de conseguir hasta un &lt;strong&gt;viaje a Redmond para conocer el campus de Microsoft con los gastos pagados&lt;/strong&gt; para todos los miembros del equipo.&lt;/p&gt;
&lt;p&gt;M&amp;aacute;s informaci&amp;oacute;n: &lt;a href="http://megathonwindows8.azurewebsites.net/2012/07/25/bases-megathon-windows-8/"&gt;bases Megathon Windows 8&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Cu&amp;aacute;nto cuesta?&lt;/h3&gt;
&lt;p&gt;El evento es &lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;gratuito&lt;/span&gt;&lt;/strong&gt; para todos los asistentes, gracias al patrocinio y colaboraci&amp;oacute;n de diversas entidades a lo largo del territorio nacional, as&amp;iacute; como la dedicaci&amp;oacute;n desinteresada de los mentores &amp;ndash;vamos, que tambi&amp;eacute;n tenemos jiribilla por participar de alg&amp;uacute;n modo en tan magno evento. &lt;/p&gt;
&lt;p&gt;En el caso de Tenerife tenemos que dar las gracias a &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://www.intelequia.com"&gt;Intelequia Software Solutions&lt;/a&gt;, &lt;a href="http://www.gsc.es"&gt;General de Software de Canarias&lt;/a&gt;, &lt;a href="http://www.feull.org"&gt;Fundaci&amp;oacute;n Empresa Universidad de La Laguna&lt;/a&gt;, &lt;a href="http://www.camaratenerife.com"&gt;C&amp;aacute;mara de Comercio de Santa Cruz de Tenerife&lt;/a&gt;, &lt;a href="http://www.fuentealta.es"&gt;Fuentealta&lt;/a&gt; y &lt;a href="http://www.panrico.com/esp/home.html"&gt;Panrico Donuts&lt;/a&gt;, as&amp;iacute; como a &lt;a href="http://www.telerik.com"&gt;Telerik&lt;/a&gt;, a los miembros de &lt;a href="http://www.tenerifedev.com"&gt;TenerifeDev&lt;/a&gt; y en general a todos los organizadores y mentores a nivel nacional que han puesto su granito de arena para que esto haya sido posible.&lt;/p&gt;
&lt;h3&gt;&amp;iquest;D&amp;oacute;nde me registro?&lt;/h3&gt;
&lt;p&gt;Para registrarte en el Megathon de Windows 8 de Tenerife, sigue el enlace siguiente:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://hackathonw8tenerife.eventbrite.com/"&gt;&lt;span style="font-size:medium;"&gt;Registro Megathon Windows 8 Tenerife&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En la &lt;a href="http://megathonwindows8.azurewebsites.net/"&gt;web oficial del Megathon&lt;/a&gt; tienes m&amp;aacute;s informaci&amp;oacute;n sobre d&amp;oacute;nde registrarte para el resto de ciudades. &lt;/p&gt;
&lt;h3&gt;&amp;iquest;D&amp;oacute;nde se desarrolla?&lt;/h3&gt;
&lt;p&gt;En el caso de Tenerife y gracias a la Fundaci&amp;oacute;n Empresa Universidad de La Laguna, dispondremos de unas aulas para el desarrollo del mismo durante todo el fin de semana. Sigue &lt;a href="http://feull.org/es/estatico/donde_estamos/15/"&gt;este enlace&lt;/a&gt; para ver c&amp;oacute;mo llegar. &lt;/p&gt;
&lt;h3&gt;&amp;iquest;Cu&amp;aacute;l va a ser la agenda?&lt;/h3&gt;
&lt;p&gt;En la web del Megathon de Windows 8 dispon&amp;eacute;is de &lt;a href="http://megathonwindows8.azurewebsites.net/2012/07/21/agenda/"&gt;la agenda completa&lt;/a&gt; de los 3 d&amp;iacute;as, comenzando el viernes 7 de septiembre a las 17:00 horas y finalizando el domingo 9 de septiembre a las 19:00 horas. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;NOTA IMPORTANTE PARA TENERIFE: El horario de la agenda es siempre hora local, con lo que en Tenerife comenzaremos a las 17:00 GMT+0 (hora canaria).&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&amp;iquest;Tengo que llevar algo?&lt;/h3&gt;
&lt;p&gt;Para poder disfrutar de este pedazo de evento es &lt;strong&gt;necesario que traig&amp;aacute;is vuestro propio equipo&lt;/strong&gt; con Windows 8 instalado &amp;ndash;vale instalado en una m&amp;aacute;quina virtual. Si no sois suscriptores de MSDN/Technet pod&amp;eacute;is &lt;a href="http://msdn.microsoft.com/en-US/evalcenter/jj554510.aspx"&gt;descargaros una versi&amp;oacute;n de prueba de 90 d&amp;iacute;as&lt;/a&gt;. Tambi&amp;eacute;n ten&amp;eacute;is que traer instalado &lt;a href="http://www.microsoft.com/visualstudio/11/es-es"&gt;Visual Studio 2012&lt;/a&gt;, bien la versi&amp;oacute;n Express gratuita o la versi&amp;oacute;n de prueba de Visual Studio 2012 Ultimate. En este enlace se explica c&amp;oacute;mo &lt;a href="http://www.hanselman.com/blog/guidetoinstallingandbootingwindows8developerpreviewoffavhdvirtualharddisk.aspx"&gt;instalar Windows 8 en un VHD con el arranque nativo de Windows 7&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;M&amp;aacute;s informaci&amp;oacute;n&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://megathonwindows8.azurewebsites.net/2012/07/25/bases-megathon-windows-8/"&gt;Bases Megathon Windows 8&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://megathonwindows8.azurewebsites.net/2012/08/03/premios-megathon/"&gt;Premios Megathon Windows 8&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://hackathonw8tenerife.eventbrite.com/"&gt;Registro al Megathon de Windows 8&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://megathonwindows8.azurewebsites.net/2012/07/21/agenda/"&gt;Agenda&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://feull.org/es/estatico/donde_estamos/15/"&gt;Ubicaci&amp;oacute;n&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-US/evalcenter/jj554510.aspx"&gt;Descarga de versi&amp;oacute;n de prueba de Windows 8 de 90 d&amp;iacute;as&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/visualstudio/11/es-es"&gt;Descarga de Visual Studio 2012&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/guidetoinstallingandbootingwindows8developerpreviewoffavhdvirtualharddisk.aspx"&gt;C&amp;oacute;mo instalar Windows 8 en un VHD con el arranque nativo de Windows 7&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/search/%23MegathonW8"&gt;Hashtag: #MegathonW8&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pod&amp;eacute;is manteneros informados de los cambios y &amp;uacute;ltimas noticias en el blog, o bien puedes conversar con nosotros por twitter mediante el hashtag &lt;strong&gt;&lt;a href="https://twitter.com/#!/search/%23megathonW8"&gt;#megathonW8.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Un saludo. &amp;iexcl;Nos vemos el 7!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206579" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>WP7, Windows 8, redes sociales con Windows Azure y DotNetNuke: todo en la TFLP2k12</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/07/18/wp7-windows-8-redes-sociales-con-windows-azure-y-dotnetnuke-todo-en-la-tflp2k12.aspx</link><pubDate>Wed, 18 Jul 2012 20:08:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206160</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=206160</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/07/18/wp7-windows-8-redes-sociales-con-windows-azure-y-dotnetnuke-todo-en-la-tflp2k12.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SantaCruz40C_5F00_2.jpg"&gt;&lt;img height="195" width="195" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/SantaCruz40C_5F00_thumb.jpg" align="right" alt="SantaCruz40C" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;margin:0px 0px 10px 10px;border-left:0px;display:inline;padding-right:0px;" title="SantaCruz40C" /&gt;&lt;/a&gt;Para el que est&amp;eacute; algo despistado, hoy se han abierto las puertas de la &lt;a href="http://geeks.ms/controlpanel/blogs/posteditor.aspx/www.tenerife-lanparty.com/2k12"&gt;Tenerife LAN Party 2k12&lt;/a&gt;, en un d&amp;iacute;a que se alcanza la m&amp;aacute;xima temperatura del a&amp;ntilde;o en Santa Cruz de Tenerife. &amp;iquest;Ser&amp;aacute; debido al calentamiento de motores en el Recinto Ferial por el comienzo del evento?&lt;/p&gt;
&lt;p&gt;&amp;iquest;O ser&amp;aacute; por el n&amp;uacute;mero de sesiones sobre lo m&amp;aacute;s de lo m&amp;aacute;s que transcurrir&amp;aacute;n a lo largo de la LAN Party?&lt;/p&gt;
&lt;p&gt;Si a&amp;uacute;n no has echado un vistazo a la &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/horarios"&gt;agenda completa&lt;/a&gt;, te recomiendo que hagas planes para estos d&amp;iacute;as porque no querr&amp;aacute;s perderte ni una, ni tampoco las &amp;ldquo;cosillas&amp;rdquo; que vamos a sortear desde &lt;a href="http://www.tenerifedev.com"&gt;TenerifeDev&lt;/a&gt; en las sesiones que tenemos preparadas &lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/wlEmoticon_2D00_smile_5F00_2.png" alt="Sonrisa" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" /&gt;&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; van los enlaces directos de las sesiones que prepara TenerifeDev, centr&amp;aacute;ndonos en el desarrollo con Windows Phone 7, Windows 8, construcci&amp;oacute;n de redes sociales sobre Windows Azure e innovaci&amp;oacute;n en Canarias.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jueves 19 de Julio&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;16:00 &amp;ndash; 18:00 &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/conferencias/22-tlp/tlp-innova/conferencias/615-conferencia-windows7-desarrollo-app"&gt;Windows Phone 7. Desarrollo de apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;19:00 &amp;ndash; 20:00 &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/cursos-y-talleres/32-tlp/tlp-innova/cursos-y-talleres/616-taller-windows-phone7"&gt;Dise&amp;ntilde;o metro en Windows Phone 7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;20:00 &amp;ndash; 21:00 &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/conferencias/22-tlp/tlp-innova/conferencias/709-conferencia-josefortes"&gt;Emprender innovando en Canarias, &amp;iquest;es posible?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;20:00 &amp;ndash; 21:00 &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/conferencias/22-tlp/tlp-innova/conferencias/669-conferencia-azure"&gt;Windows Azure. Construye tu red social en la nube con DotNetNuke&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Viernes 20 de Julio&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;17:00 &amp;ndash; 19:00 &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/conferencias/22-tlp/tlp-innova/conferencias/656-conferencia-windows8"&gt;Desarrollo de Apps con Windows 8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;19:00 &amp;ndash; 20:00 &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/cursos-y-talleres/32-tlp/tlp-innova/cursos-y-talleres/614-conferencia-windows8-metro"&gt;Windows 8. Desarrolla con el metro&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Telerik.jpg"&gt;&lt;img height="157" width="157" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Telerik_5F00_thumb.jpg" align="left" alt="Telerik" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:left;padding-top:0px;padding-left:0px;margin:0px 10px 0px 0px;border-left:0px;display:inline;padding-right:0px;" title="Telerik" /&gt;&lt;/a&gt;Y si como si ah&amp;iacute; no quedara la cosa, este a&amp;ntilde;o con patrocinios de calibre mundial como &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://www.telerik.com/"&gt;Telerik&lt;/a&gt; o &lt;a href="http://www.pluralsight-training.net/microsoft"&gt;Pluralsight&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/nokia_2D00_lumia_2D00_800_2D00_500x500_5F00_2.jpg"&gt;&lt;img height="178" width="178" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/nokia_2D00_lumia_2D00_800_2D00_500x500_5F00_thumb.jpg" align="right" alt="nokia-lumia-800-500x500" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" title="nokia-lumia-800-500x500" /&gt;&lt;/a&gt;&amp;iquest;Y qu&amp;eacute; dicen los rumores? Pues por ah&amp;iacute; &lt;a href="http://www.tenerife-lanparty.com/2k12/tlpinnova/noticias-tlpi/955-noticia-nokia-lumia"&gt;corren rumores&lt;/a&gt; sobre que se van a sortear camisetas, cursos gratuitos para &amp;ldquo;hard-core developers&amp;rdquo;, algunas cosas bastantes frikis y&amp;hellip;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;Nokia Lumia 800??&lt;/span&gt;&lt;/strong&gt; No puede ser verdad&amp;hellip;&lt;/p&gt;
&lt;p&gt;&amp;iquest;Te lo vas a perder?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206160" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/TenerifeDev/default.aspx">TenerifeDev</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Phone/default.aspx">Windows Phone</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>Cómo solucionar un GPF de las herramientas de Cerebrata para Azure</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/06/27/c-243-mo-solucionar-un-gpf-de-las-herramientas-de-cerebrata-para-azure.aspx</link><pubDate>Wed, 27 Jun 2012 14:28:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205805</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=205805</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/06/27/c-243-mo-solucionar-un-gpf-de-las-herramientas-de-cerebrata-para-azure.aspx#comments</comments><description>&lt;p&gt;Hoy ha sido uno de esos d&amp;iacute;as. Problema en producci&amp;oacute;n en Azure, vas a abrir las herramientas de diagn&amp;oacute;stico para descubrir la causa y&amp;hellip;al intentar abrirlas no lo consigues. Houston! Tenemos un problema!&lt;/p&gt;
&lt;p&gt;El problema que me surgido es al usar las herramientas de Cerebrata, al intentar abrir tanto &lt;a href="http://www.cerebrata.com/Products/AzureDiagnosticsManager/"&gt;Azure Diagnostics Manager&lt;/a&gt; como &lt;a href="http://www.cerebrata.com/Products/CloudStorageStudio/"&gt;Cloud Storage Studio&lt;/a&gt;, que permiten realizar diagn&amp;oacute;sticos sobre despliegues en Azure as&amp;iacute; como administrar el contenido del almacenamiento, despliegues, etc. El error en cuesti&amp;oacute;n al abrir cualquiera de los dos era el siguiente:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GPFCerebrata_5F00_2.png"&gt;&lt;img height="265" width="400" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/GPFCerebrata_5F00_thumb.png" alt="GPFCerebrata" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="GPFCerebrata" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Despu&amp;eacute;s de resolver el problema por otros medios (usar otra herramienta, instalarlas en modo trial en otro equipo, etc.), he tenido algo de tiempo para investigar la causa. &lt;/p&gt;
&lt;p&gt;La clave me la ha dado el utilizar &lt;a href="http://technet.microsoft.com/es-es/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/a&gt; para descubrir que justo antes del GPF se estaba accediendo a unos ficheros de configuraci&amp;oacute;n. Seg&amp;uacute;n el mensaje de error (problema de codificaci&amp;oacute;n en Base 64 en un archivo), me imagin&amp;eacute; que el problema proven&amp;iacute;a de que el fichero donde se almacenan las suscripciones configuradas, incluyendo certificados de administraci&amp;oacute;n de Azure, etc. se hab&amp;iacute;an ido al garete. &lt;/p&gt;
&lt;h3&gt;Soluci&amp;oacute;n&lt;/h3&gt;
&lt;p&gt;Para solucionar el problema, basta con abrir la ruta &amp;ldquo;C:\Users\&amp;lt;UserName&amp;gt;\AppData\Roaming\Cerebrata Software\AMS&amp;rdquo; y eliminar/renombrar los archivos &amp;ldquo;application.setting&amp;rdquo; y &amp;ldquo;connectionsettings.amsproj&amp;rdquo;, teniendo que volver a configurar las conexiones a los servicios de Azure una vez abierto con &amp;eacute;xito de nuevo las aplicaciones.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ConnectionSettings_5F00_2.png"&gt;&lt;img height="227" width="450" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/ConnectionSettings_5F00_thumb.png" alt="ConnectionSettings" border="0" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" title="ConnectionSettings" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;He intentado documentar la soluci&amp;oacute;n en los foros del producto, pero ni he encontrado uno en la &lt;a href="http://www.cerebrata.com/"&gt;web de Cerebrata&lt;/a&gt;, ni en &lt;a href="http://www.red-gate.com/messageboard/"&gt;los foros de Red-Gate&lt;/a&gt; (Cerebrata fue adquirida por Red-Gate), as&amp;iacute; que dejo la nota aqu&amp;iacute; por si a alguien le ocurre algo similar.&lt;/p&gt;
&lt;p&gt;Espero que sirva de ayuda.&lt;/p&gt;
&lt;p&gt;Un saludo y Happy coding!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205805" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>DNN Goes Social: evento en directo de DNN 6.2</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/05/28/dnn-goes-social-evento-en-directo-de-dnn-6-2.aspx</link><pubDate>Mon, 28 May 2012 12:36:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205286</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=205286</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/05/28/dnn-goes-social-evento-en-directo-de-dnn-6-2.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/62_2D002D00_icn_5F00_2.png"&gt;&lt;img height="120" width="140" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/62_2D002D00_icn_5F00_thumb.png" align="right" alt="62--icn" border="0" title="62--icn" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;Este mi&amp;eacute;rcoles 30 de Mayo, en vivo y en directo de 17:00 a 18:00 (GMT+0) a trav&amp;eacute;s de streaming podr&amp;aacute;s asistir a la presentaci&amp;oacute;n de DotNetNuke 6.2 de la mano de &lt;a href="http://www.dotnetnuke.com/Resources/Blogs/BlogID/1.aspx"&gt;Shaun Walker&lt;/a&gt;, CTO y cofundador de DotNetNuke Corporation y &lt;a href="http://www.dotnetnuke.com/Resources/Blogs/BlogID/203.aspx"&gt;Will Morgenweck&lt;/a&gt;, Director de Producto de DotNetNuke.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetnuke.com/Intro/Web-Seminars/DNN-Goes-Social-Attend-the-Unveiling-of-DNN-6.2.aspx"&gt;&lt;img height="42" width="134" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/Register_5F00_1.jpg" alt="Register" border="0" title="Register" style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Durante la sesi&amp;oacute;n, Shaun presentar&amp;aacute; la visi&amp;oacute;n de DotNetNuke y el roadmap para la fusi&amp;oacute;n de colaboraci&amp;oacute;n en redes sociales con la gesti&amp;oacute;n de contenidos web. Morgenweck demostrar&amp;aacute; c&amp;oacute;mo se pueden usar las nuevas caracter&amp;iacute;sticas de colaboraci&amp;oacute;n social para desplegar comunidades sociales en l&amp;iacute;nea. &lt;/p&gt;
&lt;p&gt;La &lt;a href="http://www.dotnetnuke.com/Products/Products-Overview/DNN-6.2.aspx"&gt;&amp;uacute;ltima versi&amp;oacute;n de DotNetNuke 6.2&lt;/a&gt;, provee de un completo conjunto de herramientas que te permiten dise&amp;ntilde;ar, desarrollar y desplegar soluciones de colaboraci&amp;oacute;n social. En esta &amp;uacute;ltima versi&amp;oacute;n, las herramientas de colaboraci&amp;oacute;n social se han integrado en el framework, haciendo m&amp;aacute;s f&amp;aacute;cil que nunca construir sitios web altamente funcionales que dan el poder de participar en comunidades interactivas, formar relaciones online, publicar perfiles ricos y comunicarse a trav&amp;eacute;s de fuentes de actividad, grupos sociales, foros y mensajes privados. &lt;/p&gt;
&lt;p&gt;En esta sesi&amp;oacute;n aprender&amp;aacute;s sobre:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nuevas funcionalidades en DNN 6.2 &lt;/li&gt;
&lt;li&gt;C&amp;oacute;mo DNN 6.2 puede ayudar a convertir a tus clientes en defensores de tu negocio &lt;/li&gt;
&lt;li&gt;C&amp;oacute;mo DNN 6.2 te facilita desplegar intranets sociales que fomentan la colaboraci&amp;oacute;n dentro de tu organizaci&amp;oacute;n &lt;/li&gt;
&lt;li&gt;C&amp;oacute;mo usar la completa suite de herramientas sociales para desarrollar y desplegar soluciones de colaboraci&amp;oacute;n en l&amp;iacute;nea &lt;/li&gt;
&lt;li&gt;Acerca de la visi&amp;oacute;n de DotNetNuke y Roadmap de producto &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:3ca85f87-ffe9-4c65-9d17-6eebc9b79ae6" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt;
&lt;div id="e2ad7674-dd3e-4a75-ad02-e97fc72c2399" style="margin:0px;padding:0px;display:inline;"&gt;
&lt;div&gt;&lt;embed src="http://www.youtube.com/v/l8Qa4G5M5Wo?hl=en&amp;amp;hd=1" width="448" height="252"&gt;&lt;/embed&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width:448px;clear:both;font-size:0.8em;"&gt;DotNetNuke 6.2 Goes Social&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Convertir tus sitios web en redes de colaboraci&amp;oacute;n social se va a convertir en un juego de ni&amp;ntilde;os. &amp;iquest;Cu&amp;aacute;ndo estar&amp;aacute; disponible? F&amp;aacute;cil, el 2 de Junio (el 6/2 en formato americano).&lt;/p&gt;
&lt;p&gt;Que lo disfrut&amp;eacute;is.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205286" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/Eventos/default.aspx">Eventos</category></item><item><title>Limpiar el esquema de una base de datos en SQL Azure tras las instalación fallida de un módulo DNN</title><link>http://geeks.ms/blogs/davidjrh/archive/2012/05/05/limpiar-el-esquema-de-una-base-de-datos-en-sql-azure-tras-las-instalaci-243-n-fallida-de-un-m-243-dulo-dnn.aspx</link><pubDate>Sat, 05 May 2012 15:18:51 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204876</guid><dc:creator>David Rodríguez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/davidjrh/rsscomments.aspx?PostID=204876</wfw:commentRss><comments>http://geeks.ms/blogs/davidjrh/archive/2012/05/05/limpiar-el-esquema-de-una-base-de-datos-en-sql-azure-tras-las-instalaci-243-n-fallida-de-un-m-243-dulo-dnn.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/database_2D00_clean_5F00_2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;" title="database-clean" border="0" alt="database-clean" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidjrh/database_2D00_clean_5F00_thumb.png" width="128" height="128" /&gt;&lt;/a&gt;Una de las tareas comunes a la hora de adaptar un módulo de DotNetNuke para que sea compatible con Windows Azure, es la de &lt;a href="http://www.dotnetnuke.com/Resources/Blogs/EntryId/3110/DotNetNuke-6-0-welcomes-SQL-Azure.aspx"&gt;adaptar los scripts de SQL de instalación para que puedan ejecutarse sobre SQL Azure&lt;/a&gt;. Con esta adaptación probablemente tenemos el módulo adaptado al 100%, ya que el resto del módulo debería funcionar del mismo modo en Windows Azure como en cualquier otro IIS hospedado fuera de la plataforma.&lt;/p&gt;  &lt;p&gt;Al intentar realizar la instalación de un módulo para comprobar si funciona correctamente, probablemente nos encontremos con un problema en algún paso de la creación del esquema en SQL Azure, y en el que si estos scripts no están bien diseñados con sus correspondientes “Rollbacks”, pueden dejarnos objetos “basura” en el esquema de nuestra base de datos. Si intentamos volver a instalar el módulo, resulta que dará más problemas ya que estos objetos ya existen. &lt;/p&gt;  &lt;p&gt;A continuación dejo un script de SQL para eliminar todos los objetos relacionados con un módulo, &lt;strong&gt;&lt;u&gt;si es que éste se ha diseñado siguiendo las buenas prácticas de creación de módulos de DotNetNuke&lt;/u&gt;&lt;/strong&gt; (todos los objetos comienzan por el nombre del módulo “&amp;lt;nombreModulo&amp;gt;_&amp;lt;nombreObjeto”, excepto las vistas que siguen la nomenclatura “vw_&amp;lt;nombreModulo&amp;gt;_nombreVista”.&lt;/p&gt;  &lt;p&gt;En el ejemplo siguiente, el nombre del módulo es “mymodule”, palabra de búsqueda que debe ser reemplazada por el nombre del módulo en cuestión.&lt;/p&gt;    &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @name &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(250)
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @type &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(10)
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @searchword &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(250)
&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; @command &lt;span class="kwrd"&gt;VARCHAR&lt;/span&gt;(2000)

&lt;span class="kwrd"&gt;SET&lt;/span&gt; @searchword = &lt;span class="str"&gt;&amp;#39;%&lt;font style="background-color:#ffff00;"&gt;mymodule&lt;/font&gt;_%&amp;#39;&lt;/span&gt;

&lt;span class="kwrd"&gt;DECLARE&lt;/span&gt; objects_cursor &lt;span class="kwrd"&gt;CURSOR&lt;/span&gt; &lt;span class="kwrd"&gt;FOR&lt;/span&gt;
(
    &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; name, type
    &lt;span class="kwrd"&gt;FROM&lt;/span&gt; sys.objects 
    &lt;span class="kwrd"&gt;WHERE&lt;/span&gt; name &lt;span class="kwrd"&gt;LIKE&lt;/span&gt; @searchword
        &lt;span class="kwrd"&gt;AND&lt;/span&gt; (type &lt;span class="kwrd"&gt;IN&lt;/span&gt; (&lt;span class="str"&gt;&amp;#39;U&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;P&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;FN&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;V&amp;#39;&lt;/span&gt;, &lt;span class="str"&gt;&amp;#39;TF&amp;#39;&lt;/span&gt;))
)

&lt;span class="kwrd"&gt;OPEN&lt;/span&gt; objects_cursor

&lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; objects_cursor
&lt;span class="kwrd"&gt;INTO&lt;/span&gt; @name, @type


&lt;span class="kwrd"&gt;WHILE&lt;/span&gt; &lt;span class="preproc"&gt;@@FETCH_STATUS&lt;/span&gt; = 0
&lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;    
    &lt;span class="kwrd"&gt;SELECT&lt;/span&gt; @command =
        &lt;span class="kwrd"&gt;CASE&lt;/span&gt; @type
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;P&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP PROCEDURE &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;U&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP TABLE &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;FN&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP FUNCTION &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;TF&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP FUNCTION &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;WHEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;V&amp;#39;&lt;/span&gt; &lt;span class="kwrd"&gt;THEN&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;DROP VIEW &amp;#39;&lt;/span&gt; + @name
            &lt;span class="kwrd"&gt;ELSE&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt;        
    &lt;span class="kwrd"&gt;END&lt;/span&gt;
    
    &lt;span class="kwrd"&gt;IF&lt;/span&gt; (@command &amp;lt;&amp;gt; &lt;span class="str"&gt;&amp;#39;&amp;#39;&lt;/span&gt;)
    &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;
        &lt;span class="kwrd"&gt;PRINT&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;Dropping &amp;#39;&lt;/span&gt; + @name + &lt;span class="str"&gt;&amp;#39;...&amp;#39;&lt;/span&gt;
        &lt;span class="kwrd"&gt;EXEC&lt;/span&gt; (@command)
    &lt;span class="kwrd"&gt;END&lt;/span&gt;
    &lt;span class="kwrd"&gt;ELSE&lt;/span&gt;
    &lt;span class="kwrd"&gt;BEGIN&lt;/span&gt;
        &lt;span class="kwrd"&gt;PRINT&lt;/span&gt; &lt;span class="str"&gt;&amp;#39;WARNING: &amp;#39;&lt;/span&gt; + @name + &lt;span class="str"&gt;&amp;#39; will not be deleted&amp;#39;&lt;/span&gt;
    &lt;span class="kwrd"&gt;END&lt;/span&gt; 
    
    &lt;span class="kwrd"&gt;FETCH&lt;/span&gt; &lt;span class="kwrd"&gt;NEXT&lt;/span&gt; &lt;span class="kwrd"&gt;FROM&lt;/span&gt; objects_cursor
    &lt;span class="kwrd"&gt;INTO&lt;/span&gt; @name, @type    
&lt;span class="kwrd"&gt;END&lt;/span&gt;
&lt;span class="kwrd"&gt;CLOSE&lt;/span&gt; objects_cursor
&lt;span class="kwrd"&gt;DEALLOCATE&lt;/span&gt; objects_cursor&lt;/pre&gt;


&lt;p&gt;Espero que sirva de ayuda. Un saludo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204876" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/DotNetNuke/default.aspx">DotNetNuke</category><category domain="http://geeks.ms/blogs/davidjrh/archive/tags/SQL+Azure/default.aspx">SQL Azure</category></item></channel></rss>