Métodos Anónimo

by Misael Monterroca 3. August 2009 13:42

Los delegados son objetos que encapsulan las referencias a las funciones. Uno de los usos comunes de la mayoría de los delegados es la implementación de controladores para eventos.

Para ver esto en acción, cree un nuevo proyecto Windows Forms (WinForms) y arraste un botón al formulario, a continuación, haga doble clic en el botón para crear el código que controlará el evento click,  el diseñador de formularios Windows Forms creara dos piezas separadas de código.

 

private void button1 (object sender, System.EventArgs e)
(
MessageBox.Show ("Prueba");
)

Además, y por lo general oculta en la región de la forma de código generado por el diseñador, el código está conectado al evento de clic del botón:

this. Button1.Click + = System.EventHandler (this. Button1);

Tenga en cuenta que el método controlador de eventos tiene que ser conforme a una firma determinada (dos parámetros del tipo de object y System.EventArgs en este caso). Esta firma se define en el delegado System.EventHandler.

La gran pregunta es: ¿Qué ganamos con la creación de este método independiente que está ligado al evento de clic a través del delegado EventHandler? Bueno, no mucho, porque no hay una verdadera necesidad para llamar al método de otro modo. Pero todo esto es necesario para hacer el trabajo de gestión de eventos.

Métodos Anónimo simplifica esto un poco. En lugar de crear instancias de un delegado y la creación de un método, el código para el método de control podrá ser creado dentro de la misma línea de código.

 

this.button1.Click += 
delegate(object sender, EventArgs e)
  {    MessageBox.Show("Prueba");   };

Como puede ver, lo que se asigna al evento Click no es un puntero a un método. Tenga en cuenta que tiene que haber un punto y coma al final, porque todo esto es realmente sólo una línea de código.

Uno de los usos geniales de esta técnica es la capacidad de pasar código como parámetro. Imagine un escenario en el que se utiliza un delegado como un call-back, un patrón que se utiliza habitualmente en una serie de escenarios, como la programación asincrónica, o cada vez que un proceso informe sobre sus avances. He aquí un ejemplo que ilustra esto:

 

public delegate void 
  Feedback(string Text);

public void Execute(Feedback d1)
{
  d1("Iniciando...");
  // Más código
  d1("Inicializando aplicación...");
  // Mucho Más código
  d1("Inicialización terminada.");
}

Uno puede crear instancias de un delegado que encapsule un método con un parámetro de cadena y páselo al método Execute para recibir información sobre el progreso del método. Alternativamente, usted puede llamar al método y pasar el código de retroalimentación como un parámetro:

 

Execute(
  delegate(string s)
  {MessageBox.Show(s);} );

Así que todo dentro del paréntesis del método  Execute () es el método anónimo y, por supuesto, se puede pasar en tantas líneas de código que desee. un punto importante a recalcar es que los métodos anónimos pueden ver realmente las variables locales definidas en el método de llamada. Así que esto funcionaria adecuadamente:

 

string s2 = "Prueba";
Execute(
  delegate(string s)
  {MessageBox.Show(s+s2);} )

Tags:

C#

30 dias de prueba gratis en hosting de sharepoint

by Misael Monterroca 29. June 2009 19:44

Logo

 

Esto es una excelente noticia, nuestros amigos de Soluciones en SharePoint estan ofreciendo 30 días gratis para que pruebes su servicio de hosting en paquetes de sharepoint, más información en su blog  -> http://blog.solucionessharepoint.com/post/2009/06/29/c2a1Prueba-nuestro-servicio-30-dias-gratis!.aspx

 

Tags:

Utilizando SharePoint como manejador de contenido 2

by Misael Monterroca 1. February 2009 08:36

[Post continuación de Parte 1]

La instalación de WSS (Windows SharePoint Services por sus siglas en ingles, para abreviar será el termino que estaremos utilizando) es un proceso realmente muy sencillo, sin embargo cree un screencast para mostrar los pasos más significativos de la instalación, a manera de resumen se hace lo siguiente:

  • Se realiza la descarga desde aqui: (Seleccione la versión en español y actualmente es WSS Con el Service Pack 1)
  • Se selecciona la instalación básica la cual a grandes rasgos hace:
    • Instala SQL Server Express para almacenar el contenido de configuración y los diferentes sitios creados.
    • Configura la búsqueda dentro de sitios web de SharePoint
    • Crea también un sitio SharePoint de ejemplo

Para descargar el screencast da un clic aquí, el screencast está resumido en menos de dos minutos en lugar de los casi 16 minutos que se tardo en mi equipo :D

La instalación avanzada es utilizada cuando queremos configurar de manera manual la instalación de SharePoint, como seleccionar un servidos de base de datos existente, crear una granja de servidores  SharePoint etc.

Ya con SharePoint instalado, procederemos a realizar la personalización del sitio (branding)

Tags: , , ,

Articulos | ScreenCast | Asp.Net | SharePoint

Migrando usuarios de SharePoint entre dos servidores y/o nombres de dominio diferentes

by Misael Monterroca 31. January 2009 20:47

Escenario:

Cambiar un servidor de Windows SharePoint Services 3.0 de Servidor A a Servidor B utilizando la herramienta de BackUp y Restauración del mismo WSS

No se cuenta con Active Directory, los usuarios son almacenados localmente en cada servidor A y B respectivamente

 

Problema:

WSS guarda el nombre de los usuarios con el nombre del dominio incluido es decir  ServidorA\nombreUsuario, al realizar el proceso de restauración en el ServidorB y claro, crear los respectivos usuarios (ServidorB\nombreUsuario) WSS no reconoce los permisos de los usuarios “anteriores” ya que WSS sigue haciendo referencia a ServidorA\nombreUsuario en lugar de ServidorB\nombreUsuario.

Imagínense el caso de que sean más de 50 usuarios, diferentes subsitios y claro, permisos personalizados :(

Solución:

Después de entrar en pánico y tras varias horas de búsqueda en internet, encontré que la herramienta stsadm.exe cuenta con la opción de “migrar” usuarios de un dominio a otro (aún cuando no se cuente con Active Directory) la utilización es la siguiente:

stsadm.exe -o migrateuser  -oldlogin ServidorA\NombreUsuario  -newlogin ServidorB\NombreUsuario    -ignoresidhistory

Con el comando anterior, todos los permisos serán respetados para el nuevo usuario asignado.

 

Saludos!

Tags:

Utilizando SharePoint como manejador de contenido 1

by Misael Monterroca 29. January 2009 16:59

Una de las características un poco desconocidas de SharePoint es la posibilidad de utilizarlo como un manejador de contenido, si hacemos un poco de historia los portales tendían a ser archivos HTML completamente estáticos, por lo que el usuario final siempre terminaba dependiendo del área de sistemas para hacer cualquier tipo de cambio en el contenido ya sea agregar nuevas secciones, cambiar o agregar imágenes, crear formularios etc. ese problema se resolvió con la posibilidad de generar páginas de manera dinámica utilizando como fuente de información cualquier tipo de fuente de datos, como una base de datos, archivos txt, archivos xml en fin una gran lista de posibles fuentes de información, en la actualidad existen diferentes aplicaciones que permiten que el usuario final pueda crear un portal casi sin ningún tipo de interacción por parte del área de sistemas (aunque claro, siempre terminan dependiendo de nosotros muahahaha).

 

En esta serie de artículos veremos como SharePoint nos ayudará a crear un portal para internet (o una intranet claro está) para que el usuario final tenga la posibilidad de manejar el contenido por ellos mismos, para ellos necesitaremos:

  • Una pc con Windows Server 2003 SP1
  • SharePoint Services 3.0 (el cual es completamente gratuito)
  • SharePoint Designer (opcional, aunque para la serie de artículos solo explicaré los pasos utilizando está herramienta)
  • Visual Studio 2008 (opcional ya que dejaré archivos binarios para su utilización, solo será requerido en caso de que requieran hacer cambios en el código fuente)
  • Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2

Este articulo lo estaré realizando sobre un ambiente virtualizado utilizando Virtual PC 2007, este es el escenario recomendado para hacer pruebas y posteriormente, pues ya realizar los cambios finales en algún ambiente de producción.

El primer paso será realizar la instalación de WSS (Windows SharePoint Services) que detallaré en el screencast que publicaré en la siguiente entrega.

El resultado final será un portal demo utilizando la siguiente plantilla: http://www.freecsstemplates.org/preview/freeradicals o claro, cualquiera que quieran de ese sitio.

Saludos!

Tags:

Noticias rapidas!

by Misael Monterroca 18. November 2008 07:56

El Silverlight Tour en Español  abre nuesvas fecha y ciudades, esperalo pronto en tu ciudad!

  • Tijuana, México
  • Xalapa, México
  • Queretaro, México
  • Hermosillo, México
  • Mexicali, México
  • San Jose, Costa Rica
  • Barcelona, Spain
  • Madrid, Spain
  • Buenos Aires, Argentina
  • Lima, Peru
  • Más información: http://squad.devworx.com.mx/blogs/rodrigo/archive/2008/11/10/el-silverlight-tour-workshop-en-espa-241-ol-se-va-a-sudam-233-rica-caribe-y-espa-241-a.aspx

     

    Descarguen tambien los ultimos podcast que transmitimos desde el pasado PDC en loa angeles california:

    Emisión 4
    http://squad.devworx.com.mx/blogs/podworx/archive/2008/11/02/podworx-4ta-emisi-243-n.aspx

    Emisión 5:
    http://squad.devworx.com.mx/blogs/podworx/archive/2008/11/02/podworx-5ta-emisi-243-n.aspx

     

    Salu2!

    Tags:

    Happy Birthday DevWorx

    by Misael Monterroca 2. October 2008 18:54

    El día de ayer fue muy importante para todo el equipo de DevWorx ya que cumplimos nuestro primer año de operaciones, es un verdadero orgullo pertenecer a una empresa que se ha logrado consolidar de una manera muy fuerte en el mercado.

    En este tiempo hemos aprendido más de lo que personalmente me imagine alguna vez hacerlo, la experiencia profesional que tenemos se ha visto reflejada en el crecimiento de DevWorx. Este logro no es sólo es de nosotros, tenemos un gran agradecimiento principalmente a nuestros clientes, gracias verdaderamente por confiar en nosotros.

    A nivel personal, también quiero agradecerle a mis amigos Rocky y Maic, gracias nuevamente por compartir este sueño/objetivo en común. Jocho, muchas gracias también por ser parte de nuestro equipo.

     

    ¡Forza DevWorx!

    Tags: ,

    General | DevWorx

    Silverlight Tour Workshop ahora en Español

    by Misael Monterroca 10. August 2008 20:28

    El SilverLight Tour ahora está también disponible para Latinoamérica y España, DevWorx estará realizando la impartición del curso completamente en español.

    De manera inmediata, se encuentran fechas confirmadas para la Cd de México, Guadalajara y Monterrey, próximamente anunciaremos más fechas y ciudades. Para consultar las fechas y registrarte al curso puedes ingresar a cualquiera de los siguientes links Fechas en español,   Fechas (Ingles)

    El Silverlight Tour es un curso de tres días acerca de Silverlight 2.  Este curso divide su contenido en tres diferentes áreas: Diseño, Desarrollo y el Server-Side.  Los asistentes podrán ser capaces de desarrollar aplicaciones de Silverlight 2 una vez que atiendan el curso.  El curso está estructurado de una mezcla de lecciones didácticas, demostraciones y laboratorios.  Cada asistente terminará el curso habiendo creado diversas aplicaciones con Silverlight 2.  Esta variedad de técnicas de aprendizaje asegurará que todos los asistentes adquieran los conocimientos en la tecnología de una manera rápida y emocionante.

     

    El temario completo del curso lo puedes consultar aquí

    Tags:

    Microsoft Gold Certified Partner

    by Misael Monterroca 18. July 2008 19:41

     

     

    Es un orgullo para DevWorx anunciarles que ya obtuvimos nuestra certificación oro como partner de Microsoft en las siguientes competencias:

    SOA and Business Process
    Mobility Solutions
    Custom Development Solutions
    Business Intelligence (no se muestra en el logo pero ya lo estamos verificando con nuestro account manager)

    !Foza DevWorx!

    Tags:

    Parte de un gran equipo

    by Misael Monterroca 3. June 2008 20:06

     

    El día de mañana es la presentación de mi amigo Rodrigo en el TechEd Developers 2008, por cierto él está haciendo una muy buena recopilación de lo que está sucediendo, no dejen de seguirlo en su blog

    ¡Que gusto es ser parte de un gran equipo!

    Tags:

    MVP