Brattack

tile159x159
Brattack is here!
Our new game Brattack for Windows Phone is available on Windows Phone Store. http://bit.ly/1jWhEyE
A game designed to improve your finger’s agility over touch screens while having fun. Check it now! It’s free!  Coming soon Brattack for iPhone, iPad & Surface.
Subscribe your email for receiving alerts when those apps become available at : http://bit.ly/1db961J
Follow us on Facebook, Twitter and LinkedIn

Millorar ObservableCollection

A StackOverflow s’ha publicat un exemple de com es pot fer un ObservableCollection més efectiu.

ObservableCollection és una llista genèrica que implementa INotifyPropertyChanged i per tant avisa a la UI dels canvis que hi ha dins la llista. Bàsicament si s’afegeix o es borra algun element.

El problema és que no és Thread safe ni tampoc Thread Affinity. Per tant, quan un Thread que no és l’UI actualitza aquesta llista es genera una excepció.

El segon, és que per cada operació d’afegir o borrar es llencen els events corresponent per notificar a UI del canvi sense l’opció de poder-los agrupar i que només es faci una vegada la notificació després d’un conjunt d’operacions.

Consulteu l’exemple que és força interessant.

Fast performing and thread safe observable collection

 

 

Aspectos fundamentales de la programación ASP.NET (4rta parte)

Cuarta parte del bloque que hablo de Aspectos fundamentales de la programación ASP.NET. Primero sería bueno leer la primer parte,la segunda y la tercera.

ASP.NET Modelo en objetos

Muchos son los objetos utilizados en el procesado de ASP.NET pero hay uno que siempre tiene que estar presente en tu memo-ria ya que lo trae prácticamente todo. HttpContext es la clase que representa una petición y su res-puesta a un recurso de la web. Context es la propiedad de la clase Page que te permite tener acceso a la instancia de la clase generada por la petición. También puedes acceder por la pro-piedad estática Current de la clase HttpContext.

Page.Context HttpContext.Current

El objeto Current tiene propiedades tan importantes y utiliza-das como:

  • Request : Representa la petición. Es una instancia de HttpRequest. Puedes acceder a la cadena Url como a las cookies.
  • Response: Representa la respuesta que debe generar el servidor. Es una instancia de la clase HttpResponse. Dispone de métodos de redireccionamiento a otras UR-L’s y métodos de escritura directa por el canal de salida.
  • User: Representa el usuario autentificado que realiza la consulta. Es la implementación de una interfaz genérica IPrincipal que puedes consultar el nombre de usuario y el rol asociado.
  • Server: Representa el servidor. Es una instancia de HttpServerUtility. Encuentras métodos para transferir la solicitud a otra página y para recuperar la dirección físi-ca dentro del disco de un recurso.
  • Session: Objeto que puedes guardar valores que sirven para mantener el estado entre peticiones.
  • Profile: Objeto que te permite leer y guardar valores que sirven para mantener el estado entre sesiones.
  • Items: Diccionario de objetos que se guardan durante la solicitud.
  • Application: Diccionario global en todas las solicitudes a la aplicación. Compartido por todos los usuarios.

Web.config

El archivo de configuración de las aplicaciones web. Este ar-chivo se encuentra en la raíz de la aplicación y es básico para el correcto funcionamiento. En este archivo que esta estructurado en formato XML se en-cuentran cosas tan importantes como:

  • Cadenas de conexiones: Las cadenas de conexión a las bases de datos que utiliza la aplicación web.
  • Autorizaciones: Permisos aplicados a carpetas o re-cursos de la aplicación web.
  • Autenticaciones: Como se deben autenticar los usua-rios. También puede contener usuarios y contraseñas encriptadas.
  • Propiedades de configuración de la aplicación: Una colección de claves y valores que se utilizan en la aplicación.
  • Perfiles: Para mantener el estado entre sesiones.
  • Proveedores de usuarios: ASP.NET tiene su propio gestor de usuarios. Puedes modificarlo para adaptarlo.
  • Proveedores de roles: ASP.NET tiene su propio ges-tor de roles. Puedes modificarlo para adaptarlo.

La herencia en web.config

webconfig

Los ficheros de configuración pueden estar en cualquier sub-carpeta de la misma. Posibilita así una herencia de configura-ciones donde se puede romper en cualquier momento e incluso sobreescribirlo. Así podrías tener una carpeta completamente pública y dentro una carpeta completamente privada. El archivo base del web.config es el machine.config. Este ulti-mo tiene su ámbito en todo el servidor. Uno de los cambios en-tre ASP.NET 3.5 y 4.0 es que web.config reduce significativa-mente su tamaño ya que la mayoría han pasado al machi-ne.config. Naturalmente puedes sobreescribirlo añadiéndolo en el web.config.

Mouse events Grid Control

In this article is explained How to handle mouse event on entire Grid Control in WPF or Windows Store apps or Windows Phone apps.
It is really simple and I would not write anything about that in my blog if I had not had problems with this simple action in my Windows Phone project that I am working.
At the bottom of this article it says the gold rule:
In order for this to work you need to always set the Grid Background, either to transparent or to whatever you like, because if its null the event isn’t triggered…

And that’s true, remember to put a background on your Grid, by default could be set to null.