MonoTouch o C# para IPhone

Septiembre 30, 2009 :: Posted by - Emilio Torrens :: Category - , ,

MonoTouchMonoTouch permite a los programadores .NET desarrollar aplicaciones en C# y ejecutarlas en el IPhone o el IPod Touch.

Necesitas un MAC para programarlo, además del SDK de IPhone, si encima quieres probar tu código en un IPhone o tener la posibilidad de distribuir tus aplicaciones tienes que formar parte del “Apple’s IPhone Developers Programâ€

Es de pago y se presenta en 3 versiones, Profesional,  Enterprise y Enterprise 5, aquí puedes ver las diferencias en las versiones, aunque tienes una versión Trial si te interesa pegarle un vistazo ;)

 

Como principales características:

  • C# y .NET en el iPhone
  • .NET Bindings al API Nativo
  • Posibilidad de Distribucion en el Apple App Store
  • Integración con MonoDevelop
  • Integración con XCode

Yo no creo que me lie con esto a no ser que algún cliente me “obligue†pero Jordi seguro que si, así que ya pondrá algo :)

Security Essentials

Septiembre 30, 2009 :: Posted by - Emilio Torrens :: Category - ,

Ya esta disponible para descargar de forma gratuita el nuevo antivirus de Microsoft:

logo_mse

Funciones Principales

  • Protección completa contra malware
  • Descarga simple y gratuita*
  • Actualizaciones automáticas
  • Facilidad de uso

Yo lo tengo instalado y de momento puedo decir que no se come los recursos del sistema, para ser un antivirus ya es bastante :)

Comunicar Servicios Win32 con WCF

Septiembre 25, 2009 :: Posted by - Emilio Torrens :: Category - , ,

WCFEstamos haciendo unos cambios en una de nuestras aplicaciones para que funcione relativamente bien en entornos de alta disponibilidad, uno de los cambios es que los Servicios Win32, que no pueden estar activos a la vez en varios servidores, se comuniquen entre ellos de manera que siempre uno, pero solo uno de la “granja†este activo.

Para eso hemos usado comunicación TCP con WCF, cada Servicio Win32 es servidor y cliente a la vez, de esa manera se comunican en forma de árbol para saber si tienen que activarse o no.

En este Post no me enrollare con todo el sistema solo sobre como hostear un servicio WCF en un Servicio Win32 y como crear un cliente para consumirlo.

Podemos añadir el servicio al proyecto con el témplate o añadirlo a mano, en realidad solo se trata de una clase, un interface y una nueva sección en el app.config

En el interface definimos el servicio y los métodos:

namespace Service
{
    [ServiceContract]
    public interface IMyTcpServer
    {
        [OperationContract]
        bool Ping();
    }
} 

La clase debe implementar el interface y es donde pondremos el código:

namespace Service
{
    public class MyTcpServer : IMyTcpServer
    {

        public bool Ping()
        {
            return true;
        }

    }
}

La sección del app.config donde definiremos que tipo de comunicación queremos, la dirección, el puerto, etc., en este caso comunicación tcp en el puerto 8731

<services>
  <service behaviorConfiguration="Service.MyTcpServerBehavior"
    name="Service.MyTcpServer">
    <endpoint address="" binding="netTcpBinding"
              contract="Service.IMyTcpServer">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>
    <endpoint address="mex" binding="mexTcpBinding"
              contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:8731/Service/MyTcpServer/" />
      </baseAddresses>
    </host>
  </service>
</services>

Ya tenemos el servicio configurado, solo nos queda poner código en el OnStart del servicio Win32 para arrancarlo, el código es el siguiente:

ServiceHost tcpHostServer = new ServiceHost(typeof(MyTcpServer));
tcpHostServer.Open();

Ya tenemos nuestro servicio Win32 con su método de ping para poder comprobar si esta funcionando o no.

La parte cliente es realmente sencilla, ya que añadimos una Referencia de Servicio, como hacíamos antes con una referencia web, y el IDE nos crea todo el código necesario para consumir el servicio, la única diferencia es que el cliente no tiene una propiedad para indicarle la dirección del servicio, para indicarle una dirección distinta a la que crea en app.config cuando añadimos la referencia hay que hacerlo de la siguiente manera:

NetTcpBinding netTcpBinding = new NetTcpBinding();
EndpointAddress endpointAddress =
    new EndpointAddress("net.tcp://direccion:elPuerto/ElServicio/");
using (MyTcpServerClient client =
       new MyTcpServerClient(netTcpBinding, endpointAddress))
{
    return client.Ping();
}

Y listo :)
            

Microsoft Web Platform Installer

Septiembre 08, 2009 :: Posted by - Emilio Torrens :: Category -

main-webpi-download-v2

Tengo que instalar el WordPress en el servidor web de la empresa ya que la gente de comercial quiere montar un Blog asociado a la web por temas de web 2.0 y esas cosas que han leído por internet :)

El servidor es Windows 2003 server y estaba empezando a prepararme un checklist para instalar el PHP para Windows, MySQL, configurar variables de entorno, extensiones ISAPI y toda la pesca cuando Jordi me manda este link, resulta que la gente de Microsoft tiene una herramienta para instalar aplicaciones web sin hacer nada …

Vale la pena que le peguéis un vistazo a la aplicación ya que lleva para instalar casi de todo, WordPress, SubText, PHP, SilverLihgt, MVC, DotNetNuke, Servidores de Galerías, Wiki, de todo ….