Los ultimos dos dias estuve dictando en el MUG algunas clases introductorias sobre HTML5.

Aquí les dejo las presentaciones, y pueden descargar todos los ejemplos de código que mostre desde GitHub.

¡Gracias a todos los que vinieron! 🙂

Ayer di una charla sobre Visual Studio 2012, y desarrollo Web en el MUG.

Aquí pueden ver y descargar la presentación, y aquí pueden hacer descargar el código de ejemplo que utilice.

¡Gracias a todos los que vinieron!

 

Las ultimas semanas estuve dictando en el MUG algunas clases introductorias sobre ASP.NET MVCHTML5 y WPF.

Aquí les dejo las presentaciones, y durante esta semana voy a estar publicando todos los ejemplos de código que mostre en GitHub.

¡Espero que las disfruten! 🙂

Recently I need to implement JSONP in SharePoint 2010 to address a multi farms scenario. My service layer are built around WCF REST API in .NET 3.5 and in my production environment an upgrade to .NET 4 (that support JSONP via CrossDomainScriptAccessEnabled attribute of WebHttpBinding) or implement any kind of extension is not option.

So, the solution was write the JSONP string directly in the response.

The steps to do this are:

    1. Define an operation that does not return a value (void):
      [OperationContract]
      [WebGet(UriTemplate="jsonpFeed")]
      void GetJsonpFeeds();
    2. Implement the operation:
      • Use JavaScriptSerializer to obtain the JSON string.
      • Wrap the JSON string with callback function call and write the string directly to Http Response (previously is important to change the Response Content Type to application/json).
      public void GetJsonpFeeds()
      {
       JavaScriptSerializer s = new JavaScriptSerializer();
       HttpContext.Current.Response.ContentType = "application/json";
       HttpContext.Current.Response.Output
        .Write("jsonpcallback("+s.Serialize(GetFeeds())+")");
      }
    3. Active the ASP.NET Compatibility in WCF, this is important because if not activate it you can’t access to HttpContext.Current:
      • In the Web.Config (in SharePoint 2010 is activated by default):
        <system.serviceModel>
         <serviceHostingEnvironment 
          aspNetCompatibilityEnabled="true"/>
        </system.serviceModel>
      • And in the service class (via the AspNetCompatibilityRequeriments attribute):
        [AspNetCompatibilityRequirements(
         RequirementsMode=
         AspNetCompatibilityRequirementsMode.Allowed)]
        public class FeedService : IFeedService
    4. Finally implement the AJAX call in the client:
      $(document).ready(function() {
       $('#getFeedsButton').click(function() {
        $.ajax({
         url: 'http://localhost:1040/FeedService.svc/jsonpFeed',
          data: null,
          dataType: "jsonp",
          jsonp: "callback",
          jsonpCallback: "jsonpcallback"
         });
       });
      });
      
      function jsonpcallback(data) {
       $('#feedsList').html('');
        $.each(data, function(i, item) {
         $('#feedsList').append($('<li>' + item.Title + '</li>'));
        });
      }

Download the complete code here

In recent days many people have asked me if I have more examples of SignalR use. I collected some that are floating around the Web about the various ways of using SignalR for publish together (and also I have simplified and updated them to the latest versions of SignalR, jQuery, and Knockout).

The samples are:

Enjoy! 😉

Hoy estuve en el MUG hablando de SignalR. La charla estuvo muy buena, y creo que la mayoría de los que asistio salio tan enamorado este framework como yo ;-).

Aqui les dejo el material.

¡Gracias a todos los que vinieron y al MUG por invitarme a dar la charla!

El jueves pasado con a mi buen amigo Daniel Priego estuvimos hablando en el evento Lagash Smart Morning sobre desarrollo de aplicaciones móviles con tecnologías web, y nuestra visión sobre el tema.

Durante la charla presentamos como ejemplo una aplicación móvil de manejo de gastos, cuya segunda versión con capacidades Real Time voy a estar mostrando en la charla sobre SignalR que voy a dar en el MUG el lunes próximo (están todo invitados, se pueden registrar aquí).

Aquí pueden descargar el material.

¡Gracias a todos los que vinieron!

During the process of migrating my blog to a new address I didn’t want to lose the old links (and all the history associated with them in Google ;-)), so to avoid this I programmed a small tool that allows to redirect addresses across multiple servers using the HTTP 301 status code, which is the best way to change a URL of a resource.

The code is available from here.

Estoy muy contento por que se han publicado en Channel 9 una serie de el videos sobre desarrollo en Windows8 y HTML5 que hemos filmado con mi amigo Miguel Angel Saez.

La serie incluye los siguientes videos:

¡Espero que les gusten!

Diseño estilo Metro

Construyendo una UI estilo Metro en Windows 8

Construyendo Metro Style Apps con HTML y JavaScript