As I know, The OnReconnected event handler in a SignalR Hub can execute directly after OnConnected but not after OnDisconnected for a given client. (source: http://www.asp.net/signalr/overview/guide-to-the-api/handling-connection-lifetime-events)
So, if onReconnected will never be happened after onDisconnected and context.connectionId will remain the same, why official example checks context.connectionId in user connections and add it if not exists.
Link: http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to-connections