Ver por etiquetas

Todas las etiquetas » NET (RSS)

[Patrones] Intercepción de llamadas a métodos (I) Patrón Decorator

Ayer a ráiz de un post de Javier Torrecilla salió una discursión acerca de como tratar el tema de la seguridad en nuestras aplicaciones. Javier hablaba sobre el uso la clase PrincipalPermission y mi comentario fue a la hora de ver que el código de Javier, mezclaba un tema como la seguridad en la vista (Entiendo que es un ejemplo) pero yo soy un poco toca… (En el buen sentido de la palabra XD ) y le comentaba que el tema de la seguridad, en mi caso lo trato como...
Publicado por Luis Ruiz Pavón | 2 comment(s)
Archivado en: ,,,

[Tips] Modificaciones/Customizaciones no intrusivas en bases de datos

Una de las cosas que me gustó cuando empecé a trabajar con Microsoft Dynamics CRM era la manera en la que se reflejan las customizaciones sobre las entidades. Por ejemplo, la entidad Incidencia tiene su correspondiente tabla dbo.IncidentBase (Con los campos base de dicha entidad) y sí añadimos nuevos campos a esta entidad, no se añaden a esa tabla, sino que lo hace sobre otra llamada dbo.IncidentExtensionBase y así con todas las entidades que pueden ser personalizas . Esto desde mi punto de vista...

El mal uso de var

Ultimamente vengo viendo mucho código en el que se hace intensivo el uso de var para declarar todo tipo de variables y me gustaría dar mi opinión sobre este mal uso: El uso extensivo de var dificulta la legibilidad y comprensión del código fuente, porque un buen código (por lo menos para mí) es el que con leerlo lo podemos entender, por ejemplo: var i = obj as string ; En este caso concreto se puede observar claramente que el tipo es string (porque lo vemos), pero y en esta caso: var i = obj; Pues...
Publicado por Luis Ruiz Pavón | 7 comment(s)
Archivado en: ,,

[Tips] Crear nuestras propias directivas de compilación

Una entradita rápida para ser viernes. El otro día un compañero me dijo que sí sabía como se podían crear directivas de compilación para un tipo de configuración especifica como por ejemplo se hace con la directiva DEBUG: #if DEBUG Console.WriteLine( "Debug" ); #endif Los pasos son los siguientes: Nos vamos a las propiedades del proyecto: Una vez creada y configurada y guardada, nos vamos al editor de VS y con la configuración...
Publicado por Luis Ruiz Pavón | 5 comment(s)

[XmlSerializer] El atributo XmlInclude: Aplicando conceptos de POO en la serialización de las clases

Imaginaros que tenéis que almacenar información de los medios de transporte que dispone una empresa, como puede puede ser coches, barcos, aviónes… y dicha información ha de ser serializada en un fichero XML. Cada entidad especifica como el coche o el avión tienen caracteristicas diferentes, un coche tiene marchas, cilindrada… mientras que un avión podría tener el número de motores que dispone… La pregunta es, ¿Como...
Publicado por Luis Ruiz Pavón | 2 comment(s)
Archivado en: ,,,

[iPhone] Download Monotouch Trial

Ya se ha hablado de Monotouch en Geeks: http://geeks.ms/blogs/oalvarez/archive/2009/08/04/mono-para-el-iphone.aspx http://geeks.ms/blogs/eecsaky/archive/2009/08/04/monotouch-c-para-tu-iphone.aspx Ahora ya se puede descargar la trial de Monotouch: http://www.mono-project.com/newstouch/archive/2009/Sep-16.html Salu2
Publicado por Luis Ruiz Pavón | 1 comment(s)
Archivado en: ,,

LINQ: Deferred Execution (Ejecución diferida): Cosas a tener en cuenta

Pues como dice el título, la ejecución diferida es una característica de algunos operadores de LINQ, qué sólo cuando se itera sobre los elementos del enumerable, se evalua la consulta (cuando se llama al método MoveNext) y no cuando se construye. No todos los operadores de LINQ causan esta ejecución diferida, hay excepciones: Operadores que retornan un sólo elemento o un valor escalar, como First, Last, Count… Operadores de conversión...
Publicado por Luis Ruiz Pavón | 1 comment(s)
Archivado en: ,,,

HOW TO: Obtener librerías de la GAC

Mucho ha llovido desde mi último post, pero entre trabajo y la preparación de mi boda, no he tenido mucho tiempo libre. Hace un par de meses ayudando a un compañero con una aplicación web, tuve la necesidad de desplegar las dlls del ReportViewer en el hosting que habían contratado para que pudieran visualizar unos reports. Existe un paquete de distribución http://www.microsoft.com/downloads/details.aspx?FamilyID=8a166cac-758d-45c8-b637-dd7726e61367&DisplayLang...

A property or indexer may not be passed as an out or ref parameter

Hoy, mi compañero de trabajo y yo estabamos dándole vueltas al por qué de este error en el compilador de C# y no en el de VB.NET. Mirando una buena explicación del por qué el compilador de C# no permite esto, he encontrado esta: a.cs class zzz { public static void Main() { yyy a = new yyy(); a.aa = 10; a.abc( ref a.aa); } } class yyy { public int aa { get { return 0; } set { } } public void abc( ref int b) { } } Compiler Error a.cs(7,11): error CS0206: A property or indexer may not be passed as an...
Publicado por Luis Ruiz Pavón | 2 comment(s)
Archivado en: ,,,,

Problemas al enviar correos a Hotmail/Live con System.Net.MailMessage en NET 2.0

El otro día repondiendo las preguntas de los foros de MSDN, me encontré con esta entrada: http://forums.microsoft.com/msdn-es/ShowPost.aspx?PostID=2677819&SiteID=11 El problema que tenía este chico era que los correos que enviaba a cuentas de correo de Hotmail no llegaban pero no daba ningún error al enviarlos. Buscando un poco por internet, encontré esta entrada en un blog: http://blogs.msdn.com/jongallant/archive/2007/12/07/system-net-mail-mailmessage-mail-header-casing-issue-fixed-in-net-2...

We Love... Web

Ayer tuve la suerte de asistir al evento que ilitia Technologies SRL preparó en las instalaciones de Microsoft Ibérica. El formato era muy novedoso y la verdad es que me gusto bastante. Era al primer evento al que asistía en el que no estas escuchando hablar a una persona/as durante 5 horas en las que alguna de las veces cierras los ojos o pegas una cabezada que otra, sino que pude participar con mi portátil realizando Hand on Labs con una máquina virtual que habían preparado. La agenda fue la siguiente...

Controlar el tamaño de subida de los ficheros al servidor en ASP.NET

Esta pregunta es muy frecuente en las NewsGroup de ASP.NET. La solución es sencilla, basta con añadir la siguiente instrucción a nuestro Web.Config: 1: < configuration > 2: < system.web > 3: < httpRuntime maxRequestLength ="Tamaño en kilobytes" /> 4: </ system.web > 5: </ configuration > Por defecto el tamaño de subida está estipulado en 4 MB(4096 KB). Un aclaración que me gustaría hacer, es que hay gente que quiere permitir la subida de archivos demasiado grandes al...
Publicado por Luis Ruiz Pavón | 4 comment(s)
Archivado en: ,,,

ASP.NET 2.0 CreateUserWizard(II): Enviar un correo personalizado cuando un usuario se crea una nueva cuenta en nuestro sitio web

En mi otro artículo hablaba de como enviar un correo a un usuario que se crea una nueva cuenta en nuestro sitio web, pero, ¿Y si además necesitamos personalizar ese correo?, pues no problem, capturando un simple evento del control CreateUserWizard llamado SendingMail y conociendo un poquito la clase MailMessage esta chupao. Y dirás: ¿Porqué la clase MailMessage ? Pues la respuesta es que el segundo argumento que recibe este evento es del tipo MailMessageEventArgs, que contiene una propiedad del tipo...

Sobre el evento de ayer: Kill the Experts...with AJAX!

Ayer en las oficinas de Microsoft Ibérica tuvo lugar el evento del Grupo de Usuarios de Madrid Kill The Experts... with AJAX! y la verdad es que me quedé bastante satisfecho con el mismo (como en todos a los que puedo asisitir). La cosa empezó como el capítulo de House en el que monta la pizarrita para ver quien gana, si el o Dios, en este caso no se contó con House pero si con 2 peasos de crases Miguel Jimenez y David Salgado y Dios que no era un dios normal, era %Dios% y al final acabó palmando...

Oracle Data Provider for .NET: New Oracle Data Access Components 11.1.0.5.10 Beta Features

En el proyecto en el que actualmente me encuentro, estoy desarrollando una aplicación con ASP.NET 2.0 y como gestor de base de datos Oracle. Una de mis inquietudes era como se iba a implementar el tema de los Providers y mira por donde me encuentro en la página de Oracle con esto: Oracle Providers for ASP.NET Features Membership Provider: Stores and retrieves registered user information in the Oracle database Role Provider: Stores and retrieves user role information in the Oracle database Site Map...
Publicado por Luis Ruiz Pavón | 2 comment(s)
Archivado en: ,,

Llenar un combo con países utilizando System.Globalization

No siempre es necesario tener una tabla con países en una aplicación, por ejemplo, imaginate que te piden diseñar un formulario (Nombre, apellidos, pais...) para enviar una solicitud por correo electrónico y en los requerimientos del cliente entra el no utilizar DB pero no quiere que el formulario este abierto a errores de introducción de datos por parte del usuario en datos como el país..., y puedes pensar: ¿Y voy a tener que llenar el combo manualmente con todos los paises? La respuesta es: NO...
Publicado por Luis Ruiz Pavón | 6 comment(s)
Archivado en: ,,

Ordenar los elementos de un ArrayList en orden descendente

En las newsgroup de ASP.NET me preguntaban como se podían ordenar los elementos de un ArrayList en orden descendente para asignarselo a un repeater, ya que por defecto te lo ordena en orden ascendente. Este ejemplo es válido para cualquier colección que utilice el método Sort : Para ello hay que saber un poco acerca del método Sort y como trabaja: El método Sort utiliza para la ordenación una clase Comparadora .Esta clase Comparadora implementa la interfaz IComparer y dicha interfaz nos obliga a...
Publicado por Luis Ruiz Pavón | 5 comment(s)
Archivado en: ,

Reflexionando con Reflection...

Hoy un compañero me ha hecho la siguiente consulta: "Un compañero mio tiene una clase creada con muchas propiedades (unas 40 o asi). En el codigo de asp.net tiene un datatable con una fila y varias columnas, y el nombre de esas columnas coincide con cada una de las propiedades. Tiene que introducir en cada propiedad su correspondiente valor del datatable, por ejemplo asi with claseprueba .propiedad1 = oDT.rows(0).item(0).item("propiedad1") .propiedad2 = oDT.rows(0).item(0).item("propiedad2") ......
Publicado por Luis Ruiz Pavón | 4 comment(s)
Archivado en: ,

Web con árticulos ASP.NET 2.0 y NET en General

Buscando por la red he encontrado esta página que contiene una colección de artículos interesantes sobre ASP.NET 2.0 y NET en general: Salu2 y a disfrutarlo.
Publicado por Luis Ruiz Pavón | con no comments
Archivado en: ,,

Clase Base vs Interfaz

Leyendo el libro Programming Microsoft® ASP.NET 2.0 Core Reference (Concretamente en la página 32), Dino Esposito (Un pedazo de máquina ) hace un pequeño comentario al respecto con el que yo estoy totalemente de acuerdo (porque así lo hago día a día en mi trabajo) y es el usar Interfaces o Clases Bases en nuestros desarrollos. Comenta que en las prebetas de ASP.NET 2.0, en la implemetación del modelo basado en proveedores se hacia a través de interfaces pero en la Beta 1 las interfaces fueron remplazadas...
Publicado por Luis Ruiz Pavón | 1 comment(s)
Archivado en: ,,