jueves, 30 de octubre de 2014

Patrones de Programación

Aquí les dejo los patrones

Creacionales

  1. Factory Method.

  2. Abstract Factory.

  3. Builder.

  4. Prototype.

  5. Singleton.


De comportamiento

  1. Interpreter

  2. Template Method.

  3. Chain of responsability.

  4. Command.

  5. Iterator.

  6. Mediator.

  7. Memento.

  8. Observer.

  9. State.

  10. Strategy.

  11. Visitor.


Estructurales

  1. Adapter.

  2. Bridge.

  3. Composite.

  4. Decorator.

  5. Facade.

  6. Flyweight.

  7. Proxy.

miércoles, 15 de octubre de 2014

Saltear SSL no valido

Aquí les dejo este pequeño código para saltear la validación de validez del certificado:

Antes de la llamada:



System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) =>
{
return true;
};



Para todos:


En el Global.asax.Application_Start poner:



protected void Application_Start()
{
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) =>
{
return true;
};
}

SignalR la web en tiempo real

Si bien este no es un código realizado por mí, me pareció interesante el echo de lo simple que hace esta librería el manejo de web sockets.

Que es?
ASP.NET SignalR es una nueva biblioteca para desarrolladores de ASP.NET que hace que sea increíblemente fácil de agregar funcionalidad de la web en tiempo real a sus aplicaciones . ¿Qué es la " Web en tiempo real" ? Es la de que el servidor haga PUSH a los navegadores.

Es posible que haya oído hablar de WebSockets, una nueva API HTML5 que permite la comunicación bidireccional entre el navegador y el servidor. SignalR utilizará WebSockets cuando esté disponible, sino utilizará otras técnicas como pool en caso de ser necesario.

SignalR también proporciona una muy simple API de alto nivel para hacer de servidor de RPC de cliente (llame a funciones de JavaScript en los navegadores de sus clientes a partir de código NET - lado del servidor ) en su aplicación ASP.NET , así como la gestión de conexiones , por ejemplo, conectar / desconectar los eventos , la agrupación de conexiones , la autorización, etc.

Instalación NuGet


Install-Package Microsoft.AspNet.SignalR


Sino pueden bajarlo desde:

https://github.com/SignalR/SignalR/zipball/master

Por ultimo les dejo la página de este framework:

http://signalr.net/

lunes, 6 de octubre de 2014

TCP y Clases con c#

Aquí dejo una pequeña aplicación de conexión y paso de objetos (Clases) sobre TCP.

Descargar desde Aquí

Espero que les sirva!

Agregar exepciones al firewall desde C#

Primero agregamos la referencia a la dll:

Microsoft.TeamFoundation.Common


Luego pegamos el código:


public static INetFwMgr WinFirewallManager()
{
Type type = Type.GetTypeFromCLSID(
new Guid("{304CE942-6E39-40D8-943A-B913C40C9CD4}"));
return Activator.CreateInstance(type) as INetFwMgr;
}

public static bool AuthorizeProgram(string title, string path,
NET_FW_SCOPE_ scope, NET_FW_IP_VERSION_ ipver)
{
Type type = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
INetFwAuthorizedApplication authapp = Activator.CreateInstance(type)
as INetFwAuthorizedApplication;
authapp.Name = title;
authapp.ProcessImageFileName = path;
authapp.Scope = scope;
authapp.IpVersion = ipver;
authapp.Enabled = true;

INetFwMgr mgr = WinFirewallManager();
try
{
mgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(authapp);
}
catch (Exception ex)
{
System.Diagnostics.Trace.Write(ex.Message);
return false;
}
return true;
}


Y por ultimo lo llamamos de la siguiente forma:


AuthorizeProgram("TCP", @"C:\TCP.exe", NET_FW_SCOPE_.NET_FW_SCOPE_ALL, NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY);