Uncategorized
Cambiar el esquema con ASP.NET Identity
· ☕ 6 min · ✍️ eiximenis
Una de las grandes novedades (probablemente la de mayor calado si obviamos la revolución de OWIN) de la nueva versión de ASP.NET es ASP.NET Identity, que sustituye al viejuno Membership (que apareció allá en 2005). ASP.NET Identity está diseñado para dar solución a muchos de los problemas de los que Membsership acaecía. Una de las preguntas más recurrentes en los foros de la MSDN y fuera de ellos es como usar Membership con un esquema de base de datos propio.

Integrando oAuth con NancyFx (ii) – Katana
· ☕ 12 min · ✍️ eiximenis
En el post anterior vimos como autenticar una aplicación NancyFx usando oAuth a través del paquete WorldDomination (o SimpleAuthentication que es el aburrido nombre que tiene ahora :p). Pero dado que NancyFx puede funcionar como un componente OWIN y la estructura modular de OWIN permite que haya módulos de autenticación que se ejecuten antes en el pipeline, porque no “eliminar” toda responsabilidad sobre autenticación de NancyFx? Y que sea algún módulo OWIN el que lo haga no?

Integrando oAuth con NancyFx–(i)
· ☕ 12 min · ✍️ eiximenis
Buenas! El objetivo de este post es explicar la solución a la que he llegado para integrar autenticación con oAuth en un sitio web desarrollado con NancyFx. En este primer post veremos como hacerlo “de la forma clásica” pero en otro siguiente nos aprovecharemos de los componentes de autenticación de Katana. Iré hablando en este blog más sobre OWIN, Katana y también sobre NancyFx, pero por el momento algunas definiciones rápidas:

El fallo de ASP.NET MVC y el helper Html.DropDownFor
· ☕ 9 min · ✍️ eiximenis
Buenas! Este post es para describir un fallo que he encontrado en el helper Html.DropDownFor y el workaround asociado. Quizá alguien entiende que no es un fallo y quizá es capaz de decirme que razón se esconde bajo este comportamiento… Desde mi punto de vista ninguno, pero bueno… ni tengo (ni pretendo tener) la verdad absoluta. El problema… Veamos… Para el helper Html.DropDownFor se usa para crear combos y tiene varias formas de uso (yo mismo escribí un post hace algún tiempo al respecto sobre las combos en ASP.

JavaScript – ¿Qué es exactamente this?
· ☕ 10 min · ✍️ eiximenis
Si vienes de un lenguaje orientado a objetos “clásico” como C# o Java, tendrás claro el concepto de this: Se refiere al propio objeto. Dado que todos los objetos son instancias de una clase en concreto y el código se define a nivel de clase el valor de this está claramente definido. Sólo leyendo el código puedes saber a que se refiere this en cada momento. JavaScript también tiene la palabra this pero su significado es un poco más “complejo” que el de C#.

¿Es Javascript orientado a objetos?
· ☕ 16 min · ✍️ eiximenis
Ayer tuve el placer de participar en un hangout de #JsIO junto a dos bestias pardas como Erick Ruiz y Tomás Corral discutiendo si JavaScript es o no es un lenguaje orientado a objetos. Así que aprovecho para escribir este post y hacer algunas reflexiones más al respecto sin las prisas ni la improvisación del “directo”. ¿Qué es la orientación a objetos? Es complicado definir que significa exactamente “orientación a objetos”.

Divertimento: Cadenas de longitud máxima fija en C#
· ☕ 10 min · ✍️ eiximenis
Aviso: Este post es un divertimento que ha surgido a raíz del siguiente tweet de Juan Quijano. En este tweet básicamente Juan preguntaba si había alguna manera de limitar la longitud de una cadena. Por supuesto todas las respuestas que le dan son correctísimas, a saber: Validarlo en el setter Usar DataAnnotations y validación con atributos Usar [StringLength] en el caso de ASP.NET MVC Y otras que se podrían dar aquí.

ASP.NET MVC – Custom model binders por propiedad
· ☕ 12 min · ✍️ eiximenis
Muy buenas! En este post vamos a ver como habilitar un custom model binder para una propiedad en concreto de un viewmodel. De serie es posible configurar un Custom Model Binder de dos maneras: Añadiéndolo a la colección Binders de la clase ModelBinders. Con esto conseguimos que todos los valores de un tipo concreto se enlacen usando nuestro ModelBinder. Usando el atributo [ModelBinder]. Con este atributo podemos especificar un Model Binder a usar para un viewmodel en concreto o para un parámetro en concreto de un controlador.

Modelos de vista dinámicos en asp.net mvc
· ☕ 29 min · ✍️ eiximenis
Muy buenas! Imagina que tienes la siguiente entidad de un modelo de datos de Entity Framework: 1: public class Product <p> <!--CRLF--> </p> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2"> 2:</span> {</pre> <p> <!--CRLF--> </p> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3"> 3:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">int</span> Id {get; set;}</pre> <p> <!

¡Hello World Katana!
· ☕ 4 min · ✍️ eiximenis
Buenas! En este post vamos a ver como empezar a trabajar con Katana. En un post anterior hablé un poco de Katana y mis fantasías (más o menos húmedas) de lo que podría ser un un futuro. Antes que nada hagamos un repaso rápido: OWIN: Open Web Interface for .NET. Especificación que define un estándard para comunicar servidores web y aplicaciones web (en tecnología .NET). Katana: Implementación de Microsoft de la especificación OWIN.