WebSocket connection closures or remember that networks are unreliable

Networks are unreliable. Put more precisely, TCP networking can experience many different types of failures with resulting loss of connectivity. Do not let the linked post’s title fool you, it goes on to list a number of real-world computer networking failures. HTTP is a great way to communicate over the public internet, where failures may occur at any time, because the protocol itself is stateless and does not rely on a persistent connection. HTML5 WebSockets, however, do use a persistent TCP connection. A connection that can cut or closed without warning. Today’s post is a short commentary on adding error handlers and heartbeat messaging to WebSocket clients and servers. ...

July 30, 2016 · Michael Hughes

Using Olingo ODataJS 4 Beta with AngularJS and Web API OData V4

Recently I started writing a new web application which uses OData V4 as the protocol for passing data to back and forth between the JavaScript client and ASP.Net server. The client is written using AngularJS which doesn’t have any built-in facilities for working in OData APIs. In order to avoid writing my own OData message handler I used the Apache Olingo library to handle the grunt work of sending requests and receiving responses. I wanted to encapsulate the Olingo library in an AngularJS service in order to make using it easier, the following post details how this was done. ...

January 5, 2015 · MichaelHughes

Time zone correct client side date and time display

Today’s post one covers one approach for displaying the correct timezone adjusted date and time in a web application. A common example for the problem being addressed is user A located in London, UK uploads a file to a central server located in New York City, US and then user B located in Seoul, SK views the file. When user B attempts to download the file we would like show the user when the file was uploaded in his or her current time zone. ...

May 26, 2014 · MichaelHughes

.NET custom cultures and SQLServer Reporting Services

The Re­portView­er control that Microsoft provides to display SQLServer Reporting Services reports in ASP.NET web ap­pli­ca­tions does not support custom cultures. There doesn’t appear to be any good, or easy work around for the lack of custom culture support. Fur­ther­more, it appears that the Reporting Services team is intent on continuing to use locale IDs to identify .NET cultures instead of culture names regardless of the preferred method of iden­ti­fy­ing cultures in .NET being by name. ...

April 4, 2014 · MichaelHughes

Catching value change events from the GWT SuggestBox

Google Web Toolkit (GWT) is a useful framework for building asyn­chro­nous web ap­pli­ca­tions. Among other features, GWT handles the Javascript (hereafter JS) engine dif­fer­ences between various versions of Internet Explorer, Chrome, and Firefox, can handle UI layout, and comes with a number of pre-built in­ter­ac­tive components. ...

April 4, 2014 · MichaelHughes