Example of Signal-R 2.0 with FSharp (F# server side and both Silverlight 5 (F#) and Javascript clients) and Rx
F# C# ASP
Switch branches/tags
Nothing to show
Clone or download
Latest commit d8a5ee5 Jan 29, 2014

README.markdown

Example of SignalR with F-Sharp (and Silverlight 5 or Javascript):

  • SignalR is a library (for web-based Publish/Subscribe -pattern) on top of WebSockets, which is HTML5 API that enables bi-directional communication between the browser and server. SignalR will fallback to other techniques and technologies when WebSockets are not available. http://signalr.net/

  • F-Sharp (F#) is multiparadigm (functional-first) programming language mainly for .NET environment. http://fsharp.org/

  • This sample uses Reactive Extensions 2.1 to communicate with SignalR, on both client and server side. Reactive Extensions is a library to compose asynchronous and event-based programs using observable collections and LINQ-style query operators. http://msdn.microsoft.com/en-us/data/gg577609.aspx

  • For server side:
    This could work purely from F# as Owin (http://owin.org/) console application but now F#-server-side is called from an empty ASP.NET C# Web Application. (You can start OWin from F# Interactive...)

  • For client side: Silverlight 5.0 application using F#-library and Silverlight 5.0 XAML/C# application to show the user interface. http://www.silverlight.net There is also jQuery/JavaScript test page, if you don't want to use Silverlight.

  • This proof of concept/sample/tutorial/demo is developed with Visual Studio 2012. References are resolved via NuGet. F# compiler won't auto-restore packages on compile. So go first to Tools -> Library Package Manager -> NuGet and press "Restore" to restore all the references, and then rebuild.

  • SignalR supports two kinds of connections: Hub and PersistentConnection Both are working with Silverlight and JavaScript.