I have a server which receives a constant stream of data via its serial port. This data needs to be formatted and displayed, in real time, in the form of dials and gauges in one or more client browsers.

I'm new to web development and I am struggling to decide how best to implement this. The server is likely to be running Windows Server 2008, the client PCs Windows 7. As such I am leaning towards using SignalR as a means to provide real time updates to the browsers.

What I'm really unsure of though is how to structure the server side. I need to be listening to the serial port constantly and relaying each message to the browsers. The messages are received at intervals of one each second. My initial thought was to use have an ASP page launch a thread on load. The thread would be responsible for reading data from the serial port and each successful message read would fire off an event to update the web pages. However I'm slightly nervous that this represents bad practice, perhaps I ought to have a seperate C# console application to read messages from the serial port, but how would I have that application communicate with the web pages?

Any suggestions on how best to implement this would be much appreciated.