Ver por etiquetas

Todas las etiquetas » C# (RSS)

[ASP.NET] Security.Exception usando NHibernateProfiler en nuestra aplicación web

Si trabajáis con NHibernate os recomiendo que uséis NHibernate Profiler para que podáis ver todo lo que está pasando entre vuestra aplicación y la base de datos. Si intentas inicializar el profiler en una aplicación ASP.NET: void Application_Start( object sender, EventArgs e) { HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize(); } puede que te encuentres con esta excepción: Server Error in '/' Application. Security Exception Description: The application attempted...

[Testing] Pruebas de acoplamiento

Por todos creo que son conocidas las pruebas unitarias , integración , aceptación y funcionales , pero no son tan conocidas las pruebas de acoplamiento. A ráiz de este post tenía pendiente escribir un post acerca de este tipo de pruebas y lo que pueden ayudarnos mantener nuestra aplicación desacoplada entre capas o tecnologías. Vamos a ver todo esto con un ejemplo, que pienso que es la mejor manera de entenderlo. Tenemos un proyecto que contiene nuestra lógica...
Publicado por Luis Ruiz Pavón | 2 comment(s)
Archivado en: ,,

AutoMapper (I) Flattening

Antes de escribir sobre este proyecto, he realizado una búsqueda en Geeks.ms y no he encontrado nada, así que empezaremos desde cero para que todo el mundo la conozca. ¿Qué es AutoMapper? Básicamente y sin complicar mucho la definición, sirve para realizar mapeos entre objetos .NET usando fluent interfaces y convention over configuration , o lo que es lo mismo, interfaces fluidas y convenciones predifinidas en su API en vez del uso de ficheros de configuración...
Publicado por Luis Ruiz Pavón | 1 comment(s)
Archivado en: ,,

[Patrones] Intercepción de llamadas a métodos (III) IoC containers

Continuando y para cerrar ya la serie de posts sobre la intercepción de llamadas a métodos (Aquí está el primero y segundo ) vamos a terminar con un ejemplo usando un contenedor de dependencias. Para este ejemplo vamos a usar Castle Windsor . Si intentamos instalarlo usando la consola de NuGet recibiremos este error: La solución a este error la he encontrado en stackoverflow y es usando el pipeline de powershell para instalar todos los paquetes que Castle.Windsor...
Publicado por Luis Ruiz Pavón | 1 comment(s)

[Patrones] Intercepción de llamadas a métodos (II) AOP

Continuando con la serie de posts sobre la intercepción de llamadas a métodos (Aquí está el primero ) hoy le toca el turno a la programación orientada a aspectos , y ya que la seguridad se trata como un aspecto transversal (CrossCutting) a toda la aplicación (Como también los son los logs, las trazas…) vamos a ver como podemos hacer el ejemplo anterior usando AOP y en concreto usando la librería PostSharp (en este post no vamos a entrar...
Publicado por Luis Ruiz Pavón | 9 comment(s)
Archivado en: ,,

[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: ,,,

Problemas con DateTime.MinValue en un servicio REST JSON

Buenas, de vuelta de vacaciones y con las pilas cargadas me encuentro que al llamar a mi servicio REST me devuelve un objeto nulo: La clase que devuelve el servicio, tiene un campo de tipo DateTime y al depurar me encuentro esto: El problema es que el valor de DateTime es MinValue porque se me había olvidado asignarle el valor en la clase de mapeos y por defecto su valor es MinValue. El porque de este problema lo podéis encontrar muy bien explicado aquí: http://stackoverflow.com/questions/4025851...
Publicado por Luis Ruiz Pavón | con no comments
Archivado en: ,,

Aplicación para hacer backup de tus post de CommunityServer

Ayer necesitaba recuperar mis post de geeks para un informe de actividad, y ya que alguno por Twitter me comentó que tal vez le interesaba, hoy publico el código con el cual recuperé los post. He de decir que la app es un poco cutre y que la parte de procesar los post recuperados para guardarlos en bd, fichero, xml… no la he implementado y lo he dejado al gusto del consumidor (En mi caso lo almacené en un Excel) y que la parte de descargar imagenes no la he implementado...
Publicado por Luis Ruiz Pavón | con no comments
Archivado en: ,

[EntLib 5.0 Validation Block] Validación encadenada de entidades

Una de las cosas que nos ofrece el Validation Block es la posibilidad de validar entidades que a su vez tienen entidades con validaciones que a su vez… vamos una validación encadenada y que es facilmente configurable a través de los siguientes atributos: ObjectValidator –> Una entidad ObjectValidatorCollection –> Una colección de entidades Y como no, lo mejor es ver un ejemplo sencillo: namespace ConsoleApplicationValidation { class Order { public Guid Id { get; set; } [ObjectCollectionValidator...
Publicado por Luis Ruiz Pavón | con no comments

[ASP.NET] Simular un EmptyDataTemplate en un DataList

Como sabréis, este tipo de template no está disponible en el control DataList (El GridView sí dispone de esta plantilla EmptyDataTemplate ) para mostrar un mensaje informandole al usuario que no hay registros. Así que vamos a ver como con unas lineas de código podemos simularla: Yo en mi caso voy a utilizar el FooterTemplate del DataList como sí se tratase de mi EmptyDataTemplate: < FooterTemplate > < asp:Label ID ="lblNoRecords" runat ="server" Visible ="false"...
Publicado por Luis Ruiz Pavón | con no comments

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)

Malas prácticas: SQL Injection + Varios I

Buenos días a todos, hace tiempo que no escribo ningún post decente y no es por falta de tiempo, sino por que actualmente estoy inmerso en un gran despliegue y la verdad es que no me da mucho para escribir sobre ello, espero que mi nuevo proyecto sí me de para compartir mis experiencias que creo que serán útiles para muchos ;) A día de hoy Viernes 9 de Octubre de 2009 sigo encontrandome código, bien sea en aplicaciones reales y en blogs (Además sí es un blog de renombre visitado por cientos de personas...
Publicado por Luis Ruiz Pavón | 6 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: ,,

[C#] String Formatting in C#

Buenas, esta es una entrada cortita pero que muchas veces digo que voy a escribir y nunca escribo. A menudo cuando tengo que hacer uso de String.Format y olvido algún formato, siempre hecho mano de esta página: http://blog.stevex.net/index.php/string-formatting-in-csharp/ Quería compartirla con todos vosotros ya que a mí me ha sido de gran ayuda :) Salu2
Publicado por Luis Ruiz Pavón | 4 comment(s)
Archivado en:

[Twitter] Error: 417 Expectation Failed.

Realizando una prueba de concepto con un minicliente de Twitter que estoy desarrollando con WPF para una demo, me encontrado con el error del título a la hora de hacer un update de mi status. Googleando, he podido encontrar el porque de dicho error: La clase System.HttpWebRequest y WebClient añaden la cabecera HTTP "Expect: 100-Continue" a menos que se le especifique lo contrario y eso no le gusta a Twitter: < html > < head > < title > 417 Expectation Failed </ title...
Publicado por Luis Ruiz Pavón | con no comments
Archivado en: ,,,

The custom tool ‘MSLinqToSQLGenerator’ failed. Unspecified error

Modificando un diagrama de Clases de LINQ to SQL me he encontrado a la hora de regenerarlo el error del título del post: The custom tool ‘MSLinqToSQLGenerator’ failed. Unspecified error Por lo visto se debe al SP1 de VS 2008, cuando añades una clase parcial sobre el objeto de contexto e intentas usar la herramienta MSLinqToSQLGenerator . Para solucionarlo, basta con poner los using de los namespaces de la clase parcial dentro de la declaración del namespace principal: http://connect.microsoft.com...
Publicado por Luis Ruiz Pavón | con no comments
Archivado en: ,,

LINQ TO SQL: Uso de NULL

Leyendo C# 3.0 in a Nutshell (Pedazo de libro) he podido aprender acerca del uso de null en consultas LINQ TO SQL y voy a intentar explicarlo como yo lo he entendido. Partiendo de esta tabla de ejemplo: Vamos a empezar a lanzar consultas utilizando LINQPad y a observar los resultados: Customers.Where(c => c.Telephone == null ).Dump( "IS NULL" ); La sentencia SQL que se genera: SELECT [t0].[CustomerId], [t0].[Name], [t0].[Surname], [t0].[Telephone], [t0].[Email] FROM [Customers] AS [t0...
Publicado por Luis Ruiz Pavón | 8 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 – Creando nuestro propio DataControlField

Revisando unos WireFrames que se le han entregado al cliente y cuyos WebParts los estoy desarrollando yo, me he encontrado en unos de ellos que se quería mostrar una imagen en la celda de un SPGridView para que el usuario al situarse sobre ella le muestre un texto descriptivo que se carga de una propiedad. No tendría que haber ningún problema, usamos un ImageField y listo, no? pero: ¿Y sí necesitamos añadirle un ToolTip con el valor de otra propiedad del...
Más artículos Página siguiente >