Archivo

Archive for the ‘Visual studio 2013’ Category

Arquitectura básica de una Aplicación MVC

mayo 6, 2016 1 comentario

Cuando desarrollamos una aplicación  medianamente compleja tenemos que considerar desde el inicio aplicar una buena arquitectura en nuestro proyecto ya que si no lo hacemos y el proyecto crece se hace insostenible y prácticamente toca volverlo hacer.

Los primero que recomiendo es nombrar nuestros proyectos de una manera simple, anteponiendo el nombre tecnico de nuestro proyecto y luego el componente al que estamos accediendo ({nombredelproyecto}.{componente})

2016-05-06_0028

La razón de hacerlo así es por que podemos diferenciar fácilmente cuales componentes son propios y cuales hacen parte de un nuget o un componente externo.

Idealmente debemos siempre utilizar una Api con un componente de datos donde lanzaremos los querys o utilizaremos el entityframework para conectarnos a la base de datos.

2016-05-06_0036

Hay 3 componentes transversales que seguramente vamos a tener que usar tanto en la Api como en el sitio Web, uno de ellos son las entidades que usan en todo el proyecto tanto simples como compuestas, por otro lado tenemos un proyecto de herramientas o utilidades que va contener diferentes métodos para temas de seguridad, encriptación, entrada y salida de datos, conexión con  servicios externos etc… y por ultimo tenemos nuestros proyecto de recursos donde vamos a tener todas la internacionalización de nuestra aplicación.

2016-05-06_0052

Para el caso de la nuestro componente de recursos recomiendo separar lo que serian las palabras principales, de los mensajes, las ayudas y textos especiales, también archivos o imágenes si las vamos a guardar ahí.

 

2016-05-06_0101

 

Para conectar nuestro sitio Web con el Api necesitamos crear un proyecto conector que los consuma y transforme la respuesta de la Api en entidades para ser usadas en el MVC por eso creamos un proyecto Services.

2016-05-06_0106

Por ultimo usando carpetas de la solución podemos agrupar los proyecto si lo queremos para que este mas ordenado.

2016-05-06_0109

 

Con esta estructura tendremos un proyecto preparado cambios y para crecer en el tiempo, pero obviamente esta estructura sigue siendo básica por lo que un proyecto mas grande requeriría de algunos cambios y componentes adicionales.

Algunos proyectos opcionales que podemos agregar:

  1. Utilidades (Utils): que contenga diferentes rutinas para limpiar textos, o para convertir formatos o incluso rutinas recursiva.
  2. Ayudantes (Helpers):  que nos permitan controlar diferente validaciones y codigo HTML desde MVC.
  3. Variables Globales(Globalvars): un proyecto que contenga constantes y variables que se carguen en ciertos instantes en el proyecto y se usen en muchas partes.
  4. Cache: Este proyecto para nuestra Api se va encargar de manejar memoria temporal para diferentes elementos que se usan constantemente en la aplicación y es ideal no buscar en la base de datos a cada momento.

En otro post espero explicar una arquitectura mas compleja y que sea funcional

Código de ejemplo Aqui!

 

 

 

 

 

 

Anuncios

Crear un administrador de cache usando cacheadapter

octubre 23, 2015 1 comentario

Utilizar cache en nuestra Api o en nuestro componentes de datos es muy importante ya que es muy común que existan cientos de datos que son consultados constantemente por el usuario y que no se modifican mucho en el tiempo entonces para poder descongestionar la base de datos podemos usar un servidor de cache que responde mas rápido a cualquier requerimiento de datos.

cacheadapter es un nuget en . net (https://www.nuget.org/packages/Glav.CacheAdapter/)  que nos permite administrar de manera fácil y distintos modos para administrar el cache:

1. In Memory cache (config setting=”memory”)
2. ASP.NET web cache (config setting=”web”)
3. Distributed AppFabric cache. (config setting=”AppFabric”)
4. Distributed memcached cache. (config setting=”memcached”)

 

Invocando entonces  nuestro nuget podemos crear un método para guardar y otro para obtener información que se encuentre en Cache sin importar en que servidor se este guardando:

internal const int INTIME = 3;

/// <summary>
/// Get the data object with identifier
/// </summary>
/// <param name=”strKey”>identifier of the data</param>
/// <returns>return the data</returns>
public static object Get(string strKey)
{
var cacheProvider = AppServices.Cache;

var data = cacheProvider.Get<object>(strKey, DateTime.Now.AddSeconds(INTIME), () => { return null; });

return data;
}

/// <summary>
/// Set in the cache server the value
/// </summary>
/// <typeparam name=”T”>Type of data to Set</typeparam>
/// <param name=”strKey”>identifier of the data</param>
/// <param name=”obj”>object data</param>
/// <param name=”intTimeExpiry”>Time in seconds of Expiry data Defaul:86400 = one day</param>
/// <returns></returns>
public static bool Set<T>(string strKey, T obj, int intTimeExpiry = 86400)
{
try
{
var cacheProvider = AppServices.Cache;

cacheProvider.Add(strKey, DateTime.Now.AddSeconds(intTimeExpiry), obj, null);

return true;
}
catch (Exception)
{
return false;
}
}

 

En el siguiente Link les dejo el codigo donde pueden encontrar el ejemplo mas completo y ver el CacheManager que cree a partir de cacheAdapter espero les sirva:

https://onedrive.live.com/redir?resid=261445BD18D3146D%21121

 

 

“Ojear la definición de un método o una clase” nueva funcionalidad Visual 2013

Aveces necesitamos navegar entre cada una de las referencias de clases que tenemos en el código para ir a la definición y detectar algún error que tengamos o cambiar algo en particular en los métodos de la clase.

Ahora a parte de la opción “Go to Definition” tenemos la opción “Peek Definition” con la combinación de teclas Alt + F2 Con la cual podremos ver el codigo sin salir de la hoja donde estamos e incluso hacer cambios en tiempo real

2015-03-05_2241_001

Activar “Map Mode” para la barra vertical de desplazamiento en Visual 2013

En Visual 2013 podemos activar un mini mapa de nuestro código para hacer el desplazamiento y ver una previsualizacion del código que deseamos acceder es bastante útil y dinámico y permite mejorar la navegación por le código.

No viene por defecto en visual studio para activarlo debemos seguir los siguientes pasos:

2015-03-05_2241

2015-03-05_2241_001

2015-03-05_2245

Instalando Angular.Js en un proyecto asp.net MVC

enero 24, 2014 Deja un comentario

Lo primero que hacemos es crear un proyecto Web:

Angular JS VS.Net

Angularjs2

Ahora para instalar facilmente Angular JS en .net utilizamos el manejador de paquetes de visual studio (Manage Nuget Packages):

Angularjs5

Ahora simplemente buscamos Angular JS y seleccionamos los diferentes paquetes de Angular que vamos a utilizar, a continuación les marco los mas usados:

 

Angularjs3

Angularjs4

 

Dentro del archivo packages.config podemos encontrar las diferentes referencias de los que instalemos y en la carpeta Scripts del proyecto es donde se encuentra los archivos JS para hacer la referencia dentro del proyecto.