title: What is causing a SignalR FormatException Invalid Cursor?
body: <p>I have written a simple SignalR hub:</p>
  
  <pre><code>public void PostUpdate(string message)
      {
          try
          {
              var update = URS.Tools.JsonSerializer.DeserializeFromJson&lt;DataUpdate&gt;(message);
              switch (update.UpdateType)
              {
                  case DataUpdateType.Opportunity:
                      Clients.All.UpdateOpportunity(update.DataUpdateId);
                      break;
                  case DataUpdateType.Contact:
                      Clients.All.UpdateContact(update.DataUpdateId);
                      break;
                  case DataUpdateType.Client:
                      Clients.All.UpdateClient(update.DataUpdateId);
                      break;
              }
          }
          catch (Exception exception)
          {
              Logger.LogError(exception);
          }
      }
  </code></pre>
  
  <p>It is running with a Silverlight 5 client.   For the most part it works, but after 5 - 30 minutes I get an error coming from withing the library:</p>
  
  <pre><code>Exception information: 
  Exception type: FormatException 
  Exception message: Invalid cursor.
  at Microsoft.AspNet.SignalR.Messaging.Cursor.GetCursors(String cursor, Func`2 keyMaximizer)
  at Microsoft.AspNet.SignalR.Messaging.DefaultSubscription..ctor(String identity, IEnumerable`1 eventKeys, TopicLookup topics, String cursor, Func`2 callback, Int32 maxMessages, IStringMinifier stringMinifier, IPerformanceCounterManager counters)
  at Microsoft.AspNet.SignalR.Messaging.MessageBus.CreateSubscription(ISubscriber subscriber, String cursor, Func`2 callback, Int32 messageBufferSize)
  at Microsoft.AspNet.SignalR.Messaging.MessageBus.Subscribe(ISubscriber subscriber, String cursor, Func`2 callback, Int32 maxMessages)
  at Microsoft.AspNet.SignalR.Infrastructure.Connection.Receive(String messageId, Func`2 callback, Int32 maxMessages)
  at Microsoft.AspNet.SignalR.Transports.ForeverTransport.ProcessMessages(ITransportConnection connection, Func`1 postReceive, Action`1 endRequest)
  </code></pre>
  
  <p>When I look at the packets, I cannot see a difference between the one just prior to the error that succeeds and the call that fails.  It is running serverEvents transport, but I tried longPolling to no avail.</p>
  
  <p>The exception is happening in the server.</p>
  
  <p>Any ideas what could be causing the above error and/or how to resolve it?</p>