¿Como buscar un objeto particular en una colección? – Usando Linq y expresiones Lambda.

Leave a comment

Los metodos de colecciones genericas IndexOf() o Contains() funcionan muy bien cuando se tienen listas de tipos simples como List<string> o List<int>, pero NO cuando se tienen listas de objetos y se desea buscar un objeto con determinadas propiedades, es decir si tenemos una lista como la siguiente:

List<claseParticular> lista = new List<claseParticular>();

y tal lista contiene un objetoParticular, entonces si se crea una nueva instancia y se le asignan los mismos parametros que el objeto incluido en la lista y luego se lo pasa como parametro al metodo Contains, se obtendrá un false aun cuando los objetos tengan los mismos parametros (son instancias diferentes y residen en lugares diferentes de memoria)

lista.Contains(objetoParticular) = false

Linq y las expresiones Lambda ofrecen una solución bastante simple a este problema:

lista.Any(x => x.parametro == valor);

de esta manera la expresion lambda funcionará como una condicion where y retornará true en caso de encontrarse un objeto que cumpla tal condicion o condiciones si se adiciona el operador AND.

Evitando perder el tiempo en compilación de proyectos de Windows Mobile

Leave a comment

He aqui un articulo que nos dice que es PVT(Platform Verification Task) y como evitar que se realice en cada compilación durante el proceso de desarrollo:

http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx

Como asegurar una única instancia de una aplicación en Windows CE

Leave a comment

Para apuntar a una solución de un problema recurrente:

http://bitmatic.com/compact-framework/single-instance-applications-in-windows-ce

Como optimizar la carga de Formularios en Windows Mobile

Leave a comment

Dos tips para optimizar la carga de formularios en windows mobile:

  • Reducir el numero de llamados a métodos en InitializeComponent:

Cambiar:

this.controlName.Location = new System.Drawing.Point(0, 0);

this.controlName.Size = new System.Drawing.Size(240, 320);

Por:

this.controlName.Bounds = new Rectangle(0, 0,  240, 320);

  • Inicializar los controles en el arbol de controles top-down

Cambiar:

this.panelName.Controls.Add(this.controlName);

Por:

this.panelName.Parent = this;

this.controlName.Parent = this.panelName;

para cada control en el panel.

Articulo Fuente:

http://msdn.microsoft.com/en-us/library/aa446535.aspx

Windows 7 Home Basic No tiene consola de administración de IIS

Leave a comment

IIS viene limitado para este sistema operativo, no trae la consola de administración o el inetmgr.exe, así que si se pretende montar un ambiente de desarrollo hay que hacer un upgrade de SO.

http://forums.iis.net/p/1162822/1940994.aspx

Si se tiene una contraseña de actualización con este formato: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX , se puede utilizar la herramienta windows anytime upgrade sin perder datos ni programas ya instalados.

WCF desde cero.

Leave a comment

No sabia nada de WCF, ahora al menos sé que existe y muy en términos generales que ofrece, pronto comenzaré a trabajar con esto y ya postearé cosas interesantes que vayan surgiendo por ahora solo un resumen from scratch:

  • Facilita el desarrollo de aplicaciones orientadas a servicios
  • Unifica e integra tecnologias de computación distribuida como System.Messaging, ASMX Web Services, .NET Enterprise Services, WSE.
  • Contratos WCF: Hay 5 tipos:
  1. Service Contracts: son presentados como interfaces que definen las operaciones que el servicio implementa. Atributo: [ServiceContract]
  2. Operation Contracts: Atributo: [OperationContract]
  3. Data Contracts: Definen como son serializados los tipos complejos usados en operaciones de Servicios WCF. Atributo: [DataContract]
  4. Message Contracts: Describen el formato del mensaje SOAP. Atributos [MessageContract], [MessageHeader], [MessageBody]
  5. Fault Contracts: Documentan las fallas que el codigo WCF pueda producir.
  • El service Model: es descrito en un documento XML con las siguientes secciones primarias de un WSDL document:
  1. Service section: que indica donde está localizado el servicio.
  2. Binding Section: indica cual de los tantos protocolos standard de comunicación entiende el servicio.
  3. PortType Section: lista todas las operaciones que el servicio puede realizar, definiendo los mensajes que éste emitirá en respuesta a los mensajes recibidos.

De esta forma el WSDL Document dice donde está localizado el servicio, como se puede establecer    comunicación con el y que está en capacidad de hacer. address, binding, contract. o a, b, c

  • Opciones de Hosting de Servicios WCF:
  1. IIS
  2. WAS
  3. Self Hosting
  4. Managed Windows Service
  • Configuración de WCF services:
  1. Pueden ser configurados en codigo o usando archivos de configuración
  2. Cada servicio debe definir un endpoint.
  • EndPoint contiene:
  1. Endpoint Address: URI, [identity], [WSDL elements],… (address)
  2. Binding: especifica información de comunicacion (binding)
  3. Service Contract: que especifica los métodos. (contract)

- Los endPoint pueden ser definidos en codigo o en archivos de configuración
- Creando WCF clientes: Los clientes requieren proxies para comunicarse con WCF Services
- Otros temas como WCF Behaviors, WCF Security, Transaction Flow, etc no leidos aun

Fuentes :

http://www.scribd.com/doc/7310496/Wcf

Windows Communication Foundation Unleashed.

Como solucionar Interbloqueos (DeadLocks)

Leave a comment

http://support.microsoft.com/kb/832524#top

y el mismo artículo pero en ingles:

http://support.microsoft.com/kb/832524/en-us/

Don’t redirect after setting a Session variable (or do it right)

Leave a comment

http://weblogs.asp.net/bleroy/archive/2004/08/03/Don_2700_t-redirect-after-setting-a-Session-variable-_2800_or-do-it-right_2900_.aspx

Problemas de renderizacion de letras con acentos

Leave a comment

El problema de renderizacion de letras con acentos en navegadores web es un problema bastante comun, por lo que puede ser necesario implementar alguna funcion que reemplaze aquellas letras con acentos por sus respectivos HTML encodings, he aquí un link con un listado de varios de estos:

http://www.thesauruslex.com/typo/eng/enghtml.htm

Como pasar una entrevista de Ingeniería de Software para Silicon Valley

Leave a comment

Mis primeros pasos para entrar al mundo laboral del Software, preparación de la Hoja de Vida, entrevistas y pruebas técnicas, …te preparan en la Universidad para esto?, es decir saber causar una excelente impresión?, comparto aquí un interesante post acerca de las entrevistas:

http://paultyma.blogspot.com/2007/03/howto-pass-silicon-valley-software.html

Older Entries

Follow

Get every new post delivered to your Inbox.