December 2009 - Artículos

Curso Terminado: Becas Control+F Curso .NET 240hs (UTN – FRRe)

Hoy termine de dictar 240 horas de clases de .NET (Desarrollo web) en el marco de las Becas Control+F, en los laboratorios de la UTN FRRE

Que son las becas? es una iniciativa de capacitación en tecnologías informáticas organizada por el Ministerio de Trabajo de la Nación (Argentina) en conjunto con CESSI y empresas de primera línea del sector informático


Los chicos…

Curso93-NET240-BecasControlF-UTN-FRRE-2009_chico

Jugadores… (arriba) Budimir, Marcos Antonio; Lucero, Ramón Manuel; Martinez, Nicolas Agustin; Clemente Gutierrez, Matias Gaston; Charytonow, Alexis; Pared, Cecilio Antonio; Rodríguez, Jorge Aníbal (atrás de el, Calvo, Facundo); Cáceres, Soledad; Sgrinzi, Agustina; Rodriguez, Nelson Fabian; Galeano Bruschi, Marcos Damián; Borelli, Darío Antonio (abajo) Fernández Michonovich, Iván José; Tribbia, Enzo, (el profe, me!) Fernández, Jose A.; Nicoletti, Mariela Liliana; Barrera, Claudia …(el que falto José Gallardo)

No esta demás decir que uno siempre aprende cosas nuevas cada vez que dicta un curso, muchas veces nuevos conocimientos técnicos (afianzar otros) pero también relaciones humanas, algo que me llevo con creces…

Así que mis mas sinceros saludos a todos, fue un honor nuevamente dar este curso, y espero que nos veamos “en los pasillos de la universidad” (o quien dice en otro curso/jornada)

También a los que estaban detrás de todo en la organización desde le UTN Claudia y Gonzalo, y Gustavo abriendo todos los días el laboratorio.

 

El curso…

Este curso de .NET se titulaba Programador .NET (mas info aquí) . Se cursaba 3 veces por semana (4 horas), una carga horaria importante, totalizando las 240hs. Se dividió en 3 módulos (Intro a POO, y luego dos módulos de Desarrollo Web con ASP.NET). Los modulos fueron armados por BS – Buffa Sistemas. El ultimo modulo tenia de interesante que se basaba en curso MOC 2310C: Developing Web Applications Using Microsoft Visual Studio 2008 (curso oficial de Microsoft) con material oficial.

 

Exámenes…

      NOTA: Recién me entero por el post ¿Eres estudiante? CERTIFICATE!!!! (Felipe Zuñiga) que a nivel mundial los estudiantes (que puedan acreditar que lo son al momento de rendir) tiene un descuento de 50% (por lo menos en Argentina)
Esto es valido hasta el 30.Jun.2010 (pleno Mundial de Futbol!!)
Mas info:
 http://www.prometric.com/microsoft/student
Estoy por averiguar (y también Gonzalo) en el marco de Control+F si la bonificación… (que creo la da Microsoft) puede ser un poco mas, conociendo que el beneficio ahora ya no es un “beneficio exclusivo de las becas Control+F” 

Aquí voy a llevar un listado de los que van rindiendo el examen de certificación (espero que me se acuerden de mi y vayan avisando con un mensaje/comentario en este articulo)

  • Barrera, Claudia
  • Borelli, Darío Antonio
  • Budimir, Marcos Antonio
  • Cáceres, Soledad
  • Calvo, Facundo
  • Charytonow, Alexis
  • Clemente Gutierrez, Matias Gaston
  • Fernández Michonovich, Iván José
  • Galeano Bruschi, Marcos Damián
  • Gallardo, Jose Omar
  • Lucero, Ramon Manuel
  • Martinez, Nicolas Agustin
  • Nicoletti, Mariela Liliana
  • Pared, Cecilio Antonio
  • Rodríguez, Jorge Aníbal
  • Rodriguez, Nelson Fabian
  • Sgrinzi, Agustina
  • Tribbia, Enzo

 

Enlaces

Crossposting desde mi blog en Geeks.ms: http://geeks.ms/blogs/fernandezja

Posted 12-21-2009 21:24 por Jose A. Fernandez | 2 comment(s)

Archivado en: ,,

[ASP.NET Membership] Reset password with TS-SQL (“por si las moscas… tenerlo a mano”)
La necesidad hace que a veces necesitemos estos “tips”.


En una app web en desarrollo, no teníamos otra forma de acceder a un usuario (ni recuperar el password) así que resolvimos directamente en la DB.
Esto le sirvió a Enzo y Lisando, espero que a alguien le sirva.
 

El procedimiento almacenado que nos brinda la funcionalidad de membrecía de ASP.NET es: aspnet_Membership_ResetPassword
 
image
 
Para cambiar el password mediante esta consulta SQL utilizando el procedimiento almacenado…
 
 
DECLARE @UserName varchar(256),
        @Password varchar(128),
        @Application varchar(256),
        @PasswordSalt varchar(128)

SET @UserName = 'yoda'
SET @Password = 'theforceiswithyou'
SET @Application = '/'
SET @PasswordSalt = (SELECT 1 PasswordSalt
                            FROM aspnet_Membership
                            WHERE UserID IN (SELECT UserID
                                                    FROM aspnet_Users U
                                                        INNER JOIN aspnet_Applications A
                                                            ON U.ApplicationId = A.ApplicationId 
                                                    WHERE 
                                                        (U.UserName = @UserName) 
                                                        AND (A.ApplicationName = @Application)))


EXEC dbo.aspnet_Membership_ResetPassword 
        @Application, 
        @UserName, 
        @Password, 
        10, 
        10, 
        @PasswordSalt, 
        -5

 

Es candidato ideal la consulta anterior a encapsularla en un procedimiento almacenado que solamente sea para esa tarea.

Espero que les sirva de ayuda o guía.

Crossposting desde mi blog en Geeks.ms: http://geeks.ms/blogs/fernandezja

Posted 12-10-2009 19:17 por Jose A. Fernandez | con no comments

Archivado en:

[ASP.NET] Error: Validation of ViewState MAC failed

Cuando estaba publicando Federico en producción un proyecto (esto quiere decir que esta en etapas finales, hito importante en cualquier proyecto) se le presento el siguiente mensaje ;)

Error:

Error de la validación del estado de vista MAC. Si un clúster o una batería de servidores Web alojan esta aplicación, asegúrese de que la configuración <machineKey> especifica la misma validationKey y el mismo algoritmo de validación. AutoGenerate no se puede utilizar en un clúster.

English…

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

 
Si bien al único que le sucedió algo similar hace unos meses era a Ruben, aqui dejo plasmado las soluciones… la primera es la sugerencia del chef! pero por pagina no de todo el sitio

 

Si quieres puedes tener un seguimiento de todos los issues del view-state que están documentados en Microsoft Support, ademas hay sugerencias de como buscar estos issues:

 

Porque sucede esto?

Hay varias razones y seguramente (por la Ley de Murphy) la que le ocurre a uno no es nada de este listado, es decir no es un listado definitivo solo algunos tips de sucesos, pero si tienes alguno dímelo a través de un comentario en este articulo

NOTA: Por favor asegúrate que tu pagina no esta cacheada por el explorador, porque puede ser que se este enviando el viewstate “añejo”, y por eso te este dando este error.

 

 

Soluciones

 

Si es un caso aislado o por ejemplo estas en una intranet que pocos usuarios van a utilizar y no necesitas esa seguridad.. entonces puedes:

Solución 1:

 

En la pagina que requerimos deshabilitamos este cifrado.

<%@ Page Language=".." EnableViewStateMac="False"%>

Esto es bueno cuando tenemos que enviar el postback hacia otra pagina.

Solución 1.1:

Ídem al anterior pero lo hacemos para todo el sitio desde el web.config.
Esta alternativa hace que nuestra nivel de seguridad disminuya así que a tenerlo en cuenta (si es publico no creo que se conveniente, en cambio en una intranet habría que evaluarlo)

<pages enableViewStateMac="false" />

enableViewStateMac: Atributo Boolean opcional.
Especifica si ASP.NET debe ejecutar un código de autenticación de mensajes (MAC) en el estado de vista de la página cuando el cliente la devuelva. Si el valor es True, se comprueba el estado de vista cifrado para asegurarse de que no se ha manipulado en el cliente.
El valor predeterminado es True.

 

Mas info sobre esta propiedad sigue el post de Carlos Zanini

 

Solución 2

<pages viewStateEncryptionMode ="Never" />

 viewStateEncryptionMode: Atributo ViewStateEncryptionMode opcional.
Especifica el modo de cifrado del estado de vista. La propiedad ViewStateEncryptionMode reemplaza este atributo, que se establece en el archivo de configuración.
Valores: Always, Auto, Never
El valor predeterminado es Auto

 

    

Solución 3

Aqui puede ser que se recicle el Pool  de Aplicaciones del IIS asi que la solucion by Microsoft

  • Ajústese las configuraciones en los grupo de aplicaciones para que sea menos probable que el reciclaje se produzca en períodos máximos.
  • Utilice una clave específica en el machine.config para impedir generación automática de claves a cada inicio de proceso
  • Sólo realice el postback a la misma página ASPX
  • Desactive servidor de seguridad y software de antivirus

Según leemos aquí:

 

 

Enlaces

 

Espero que les sirva de ayuda o guía.

Crossposting desde mi blog en Geeks.ms: http://geeks.ms/blogs/fernandezja

Posted 12-03-2009 10:56 por Jose A. Fernandez | con no comments