title: SignalR triggering client hub event multiple times
body: <p>I'm using SignalR with SQLDependency to get notification whenever there is a change in one of my tables in SQL Server database. 
  The notification works fine - but I see one issue. As there are more and more changes in the database, SignalR looks triggering multiple client hub events for a single change in the database. </p>
  
  <p>Looking at the console, I got the following:</p>
  
  <p>[16:32:30 GMT-0700 (Pacific Daylight Time)] SignalR: Triggering client hub event 'sendMessage' on hub 'MessangerHub'.</p>
  
  <p>[16:32:30 GMT-0700 (Pacific Daylight Time)] SignalR: Triggering client hub event 'sendMessage' on hub 'MessangerHub'.
  ...</p>
  
  <p>It looks like event is being fired multiple times.
  Any help will be appreciated.</p>
  
  <pre><code>public IEnumerable&lt;Internal.Core.Model.ShipmentStatusInfo&gt; GetShipments(DateTime lastStatusUpdatedDate)
      {
          using (var conn = new SqlConnection(Config.Instance.ShipmentConnection))
          {
              conn.Open();
              var q = "SELECT dbo.Shipment.ShipmentID, dbo.Shipment.[STATUS], dbo.Shipment.[LAST_MODIFIED_DATE] "+
                      " FROM dbo.Shipment WHERE name like  @name and  [Shipment].[LAST_MODIFIED_DATE] &gt; @date";
  
  
              using (var cmd = new SqlCommand(q, conn))
              {
                  cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = lastStatusUpdatedDate;
                  cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = Config.Instance.Name; 
                  SqlDependency dependency = new SqlDependency(cmd);
                  dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
                  if (conn.State == ConnectionState.Closed)
                  {
                      conn.Open();
                  }
                  using (var reader = cmd.ExecuteReader())
                  {
                      return reader.Cast&lt;IDataRecord&gt;().Select(x =&gt; new Internal.Core.Model.ShipmentStatusInfo()
                      {
                          ShipmentId = x.GetString(0),
                          Status = x.GetString(1)
                      }).ToList();
                  }
  
              }
          }
      }
  
      void dependency_OnChange(object sender, SqlNotificationEventArgs e)
      {
          if (e.Type == SqlNotificationType.Change || e.Info == SqlNotificationInfo.Update || e.Info == SqlNotificationInfo.Insert)
          {
              StatusUpdateHub.Send();
          }
      } 
  </code></pre>