[Debate] Nombre de Namespaces en métodos extensores ¿Y tu que opinas?

Ayer, a raíz de un post del colega Javier Torrecilla sobre métodos extensores, unos cuantos de nosotros entre los que estaban el propio Javier y Jorge Serrano nos enzarzamos en una discusión en twitter acerca del mejor modo de declarar nuestros métodos extensores. Pongamos un ejemplo: Supongamos que queremos crear un método extensor para comprobar si un valor está entre dos valores (el clásico between de toda la vida). Agrego una clase llamada ExtensionMethods a mi proyecto, o a otro proyecto mi solución y agrego este código: namespace CustomExtensions { public static class ExtensionMethods { public static bool Between<T>(this T … Continue reading [Debate] Nombre de Namespaces en métodos extensores ¿Y tu que opinas?

HowTo: Crear un hook de teclado para registrar una hotkey en nuestra aplicación

Hola de nuevo, En los grupos de MSDN suele haber bastantes preguntas acerca de crear hooks de teclado, para que nuestra aplicación pueda ejecutar alguna acción determinada, en respuesta a alguna pulsación de teclado, aunque no esté activa. He creado una pequeña clase llamada WindowsShell que contiene el código necesario para registrar una hotkey y asociarla a un formulario: 1: using System; 2: using System.Runtime.InteropServices; 3: using System.Windows.Forms; 4:  5: namespace TestRegisterHotKey 6: { 7: public class WindowsShell 8: { 9: public enum ModifierEnum 10: { 11: MOD_ALT = 0x1, 12: MOD_CONTROL = 0x2, 13: MOD_SHIFT = 0x4, 14: MOD_WIN … Continue reading HowTo: Crear un hook de teclado para registrar una hotkey en nuestra aplicación

Materiales de la charla: Parallel computing @ BcnDev

Antes de nada: Lo se, soy un desastre. Hace ya más dos semanas del evento que realizamos en BcnDev, y debería haberlos subido hace unos cuantos días… pero he estado unos días de vacaciones (totalmente offline), y la vuelta ha sido demasiado traumática para pensar en cosas como esta 🙂 Es lo que suele suceder cuando no te acercas a menos de 10 metros de un ordenador durante más de dos semanas (por orden judicial). Luego a la vuelta todo resulta un poco más difícil y acabas preguntándote si realmente quieres hacer esto el resto de tu vida 😛 En … Continue reading Materiales de la charla: Parallel computing @ BcnDev

Usando ASP.NET membrership en Winforms (3 / n)

El modelo de objetos de membresía (Membership object model) O lo que es lo mismo, el pan nuestro de cada día en lo relativo a administrar la seguridad basada en membresía. Para acceder a este cojunto de clases es necesario agregar los namespaces System.Web y System.Web.Extensions, que contienen las clases necesarias para interactuar con la base de datos de membresía descrita en el artículo anterior. Conocer este conjunto de clases es vital para poder aprovechar todas las características de este sistema, de modo que aquí va una tabla con las principales elementos y funcionalidades: Clase/interfaz Funciones Membership Proporciona los servicios … Continue reading Usando ASP.NET membrership en Winforms (3 / n)

Usando ASP.NET membrership en Winforms (2 / n)

Creando la base de datos de membresía La base de datos de membrsía es el lugar en el que se van a almacenar los datos de los usuarios de nuestras aplicaciones. Si, de nuestras aplicaciones en plural, porque este sistema está preparado para gestionar datos de tantas aplicaciones como sea necesario. De modo que el primer paso va a ser crear esta base de datos en un servidor SQL Server. Por cierto, cualquier edición vale, desde la Express hasta la Professional. Lo primero que vamos a hacer es ejecutar el comando aspnet_regsql desde la línea de comandos de Visual Studio, … Continue reading Usando ASP.NET membrership en Winforms (2 / n)

Usando ASP.NET membrership en Winforms (1 / n)

Sistemas de autenticación de usuarios Una de las preguntas más habituales en los foros de desarrollo tiene relación con los sistemas de autenticación de usuarios. Normal ¿qué aplicación de hoy en día no necesita de un sistema que gestione los usuarios, roles y permisos de la aplicación? Para ello existen varias alternativas pensadas para diferentes tipos de aplicaciones: Por ejemplo, si sabemos que nuestra aplicación va a ejecutarse en un entorno corporativo, ¿qué mejor que usar el directorio activo de la empresa para gestionar lo relativo a la seguridad? Por otro lado, si no estamos seguros si va a existir … Continue reading Usando ASP.NET membrership en Winforms (1 / n)

HowTo: Obtener TODOS los usuarios de un grupo del Directorio Activo

Siguiendo con el tema de las últimas entradas, vamos a ver cómo obtener TODOS los usuarios que pertenecen a un grupo del directorio activo. Y cuando digo TODOS los usuarios, me refiero a TODOS (por algo lo he puesto en mayúsculas :-D). Es decir, dentro de un grupo podemos tener otros grupos, que a su vez contengan otros grupos y así succesivamente… y nuestro objetivo es obtener todos los usuarios de forma recursiva. Para obtener los datos de estos usuarios vamos a crear una clase, para ir almacenando las propiedades que deseamos obtener de cada usuario. Y una función que … Continue reading HowTo: Obtener TODOS los usuarios de un grupo del Directorio Activo

HowTo: Agrupando grupos :-)

Una entrada rápida, no como la de ayer. Aunque el tema está bastante relacionado ya que ambos tratan de Active Directory e identidades. Hoy vamos a ver una forma sencilla de obtener todos los grupos a los que pertenece un usuario, y agruparlos por su nombre de dominio. Y todo esto mediante una sola sentencia LINQ to objects. A ver quién es el guapo o guapa que me dice que LINQ to objects no es una maravilla! El resultado que vamos a obtener es el siguiente (algunos nombres se han omitido por razones obvias :-P): Groups under:   – Group … Continue reading HowTo: Agrupando grupos 🙂

How To: ¿Como saber si el usuario actual es administrador del dominio?

Nota: Es una pregunta que me encuentro de forma recurrente en los foros de desarrollo, así que lo apunto aquí para tener una referencia. El escenario Cuando desarrollamos una aplicación de escritorio, puede ser interesante saber a qué grupos pertenece el usuario que está ejecutando nuestra aplicación, para mostrar / ocultar / permitir / revocar ciertas acciones, u opciones. Por ejemplo, yo acostumbro a tener un botón en la barra de estado de mis aplicaciones que permite cambiar la cadena de conexión, y evidentemente, solo está visible cuando el usuario pertenece al grupo “Administradores del dominio”. IsInRole Para ello, el … Continue reading How To: ¿Como saber si el usuario actual es administrador del dominio?

ClickOnce, actualizar una aplicación ‘on demand’

Una de las grandes características disponibles a partir de VS2005 fue la tecnología ClickOnce, que permitía distribuir aplicaciones de forma asombrosamente sencilla. Hoy no nos vamos a dedicar a explicar con detalle esta tecnología (supongo que muchos de vosotros ya la estaréis utilizando), si no que nos vamos a centrar en extender su funcionalidad para comprobar por código si existen nuevas versiones publicadas, y en caso afirmativo actualizar la misma. La verdad es que utilizar la API de ClickOnce está tirado, y nos permite hacer cosas tan chulas como esta: El código para comprobar si existen actualizaciones es el siguiente: … Continue reading ClickOnce, actualizar una aplicación ‘on demand’