Reunión de la Comunidad del mes de Octubre

Estimados amigos de la comunidad, sólo para recordarles que el próximo
martes 26 de Octubre a las 7 de la noche tendremos otra reunión de la
comunidad .Net la cual se llevara a cabo en Alfonso Esparza Oteo
Exterior 144 Despacho 608 Col Guadalupe Inn.

En ella tendremos la siguiente agenda:

Introducción a Data Warehouse con SQL Server 2008 (Ponente: Pablo
Monroy)

ASP.NET MVC desde arquitectura hasta desarrollo en Visual Studio 2010.

NOTA: Se recomienda confirmar su asistencia con el fin de agregarlos a
la lista de acceso en la puerta para que los dejen pasar.

Liga del mapa:
http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=116219923599100851688.000478d723dedcd1ddbc3&z=19
Referencias: Está a una cuadra del metrobus olivo.
Esperamos contar con su valiosa asistencia y que inviten a sus amigos
y conocidos, les mandamos un cordial saludo.

Out of memory exception usando el ReportViewer en modo local

Si estas usando el control Report Viewer en una aplicación Web en modo local y el reporte que estas utilizando carga grandes cantidades de datos o tiene muchas expresiones. Debes considerar que estos escenarios no son recomendados en Local Mode. Ya que por diseño el comportamiento del Report Viewer aloja objetos en variables de sesion, cada vez que el visor de reportes es refrescado. Provocando que tarde o temprano tengas un System.OutOfMemoryException.

Si ya estas enfrascado en el problema, lo ideal seria migrar tus reportes a Reporting Services o usar otro reporteador. Pero en el inter el siguiente Workaround me ha dado resultados.

NOTA: Puede no funcionar para todos los escenarios.

En el page_load event, agrega lo siguiente,

VB.NET

If Session.Count > 0 Then

For i As Integer = 0 To Session.Count – 1

If Session(i).GetType().ToString() = “Microsoft.Reporting.WebForms.ReportHierarchy” Then

Session.RemoveAt(i)

End If

Next

End If

C#,

if(Session.Count > 0)

{

for (int i = 0; i < Session.Count; i++)

{

if (Session[i].GetType().ToString() == “Microsoft.Reporting.WebForms.ReportHierarchy”)

{

Session.RemoveAt(i);

}

}

}

Fuente: http://blogs.msdn.com/b/selvar/archive/2008/07/18/getting-system-outofmemoryexception-when-using-reportviewer-contol-in-local-mode.aspx

La nube y el futuro del computo.

Mucho es el escepticismo sobre el tema del computo del futuro. Mientras que algunos auguran que nadie necesitara tener sites llenos de servidores para mantener su información, otros en cambio identifican como imposible soltar su valiosa información fuera de los limites de su organización.

Lo que para mi es claro, es que en el futuro, todas las empresas tendrán una combinación de ambos elementos.

Por ejemplo, hace mas de 10 años, casi ninguna organización de mediana para arriba delegaba su correo electrónico empresarial a un tercero.

Hoy muchas empresas entienden que administrar internamente su correo electrónico no es el negocio de su organización y en muchos de los casos han delegado dicha responsabilidad en terceros, con resultados interesantes. Ya que a una empresa le es costoso mantener un 24/7 de disponibilidad, mientras que a a un prestador de servicios dedicado a eso, el costo representa parte de su negocio. Y muchos de ellos brindan sus servicios directamente en la nube.

Lo que es mas interesante todavía, es el hecho, que gran parte de las empresas que han optado por estas alternativas, han realizado dichas transacciones, casi por completo en linea. Sin la intervención directa de responsables de ventas.

Se que para este momento sueno extravagante. Pero solo basta ver a quien delegamos muchas de nuestras actividades informáticas.

Por ejemplo, durante el mundial múltiples empresas, en vez de invertir millones de pesos en infraestructura para montar servidores de streaming de video, se montaron sobre YouTube para presentar sus campañas.

Otro ejemplo clarísimo es el seguimiento a las quejas de los clientes que realizan diversas empresas por medio de Twitter.

Y uno pensaría, que no se supone que es información que queremos mantener dentro de las fronteras de la empresa. Y la realidad es, que si queremos mantenernos competitivos, usaremos los medios a nuestro alcance para llegar al cliente. Y solo es necesario mantener dentro de nuestras fronteras aquello que por su naturaleza necesitamos proteger, ya sea porque estamos obligados, o porque así convenga a los intereses de la empresa.

Pero al final, muchos proyectos que no verían la luz, debido a la inversión inicial que requerirían. Terminaran dando sus primeros pasos en la nube y en algunos casos serán mucho mas rentables, que aquellos en los cuales una organización tuvo que invertir millones de dólares para salir al aire.

Es por ello que veo una progresiva migración a la nube, la cual no será total para todas las organizaciones.

Pero definitivamente tendrá un espacio importante en gran parte de ellas.

Ahora solo es cuestión de tiempo para ver el resultado.

Foros de Microsoft

Muchas veces me han preguntado porque en las páginas de comunidad se tarda mucho en dar respuesta o simplemente esta no llega. Y la realidad es porque muchas veces el número de personas que leen dichas páginas, es mucho menor, que páginas como los foros de Microsoft.

En los foros de Microsoft, se reúnen muchísimas personas que responden a las inquietudes de los demas.

Es por ello que les comparto las ligas de los que considero mas relevantes:

ASP.NET
http://forums.asp.net/

C#
http://social.msdn.microsoft.com/forums/en/csharpgeneral/threads/

WPF
http://social.msdn.microsoft.com/Forums/en/wpf/threads/

Saludos

Como aprender C# 4.0

Muchas veces cuando estamos buscando información de como aprender un lenguaje en especifico, nos detenemos por no conocerlo o no tener en ese momento un libro o documentación al respecto.

Y lo mejor de todo es que no debes gastar un peso para conseguirlo.

Ya que la especificación de C# la puedes descargar desde el sitio de Microsoft. En la siguiente liga.
Especificación de C# 4.0

Espero que les sirva.

Saludos

CSS Selectors

Los selectores en css, son reglas con las que puedes aplicar estilos a elementos en un documento html.

1.- Tu puedes aplicar estilos a cualquier elemento usando el “*”.

2.- Tu puedes aplicar estilos a todos los elementos del mismo tipo indicando nombre del tipo del mismo.

ej:
div {}  <- Aplica el estilo a todos los divs
ol {} <- Aplica el estilo a todos los ol

3.- Tu puedes aplicar un estilo a todos los elementos que cumplen con un selector que están dentro de otro selector independientemente de los niveles de profundidad separándolos por un espacio.

ej:
div ol {} <- Aplica el estilo a todos los ol dentro de un div, independientemente de la profundidad. En este caso si un div tuviera un hijo que fuera otro div y dentro de el existiera un ol. Le aplicaría el estilo.

div > ol {} <- Aplica el estilo a todos los ol dentro que son hijos directos de div, independientemente de la profundidad. En este caso ol deberá ser hijo directo de ol.

Si quieres mas información de selectores css, revisa la siguiente liga:

http://www.w3.org/TR/CSS2/selector.html