public virtual void UnsubscribeTable(Lightstreamer.DotNet.Client.SubscribedTableKey tableKey) { ServerManager connManager = this.ConnManager; Lightstreamer.DotNet.Client.SubscribedTableKey[] subscrKeys = new Lightstreamer.DotNet.Client.SubscribedTableKey[] { tableKey }; ITableManager[] managerArray = connManager.DetachTables(subscrKeys); if (managerArray[0] == null) { try { connManager.UnsubscrTables(new Lightstreamer.DotNet.Client.SubscribedTableKey[0], true); } catch (PhaseException) { } throw new SubscrException("Table not found"); } managerArray[0].NotifyUnsub(); try { connManager.UnsubscrTables(subscrKeys, true); } catch (PhaseException) { throw new SubscrException("Connection closed"); } }
public virtual void UnsubscribeTables(Lightstreamer.DotNet.Client.SubscribedTableKey[] tableKeys) { int num2; ServerManager connManager = this.ConnManager; ITableManager[] managerArray = connManager.DetachTables(tableKeys); int num = 0; for (num2 = 0; num2 < managerArray.Length; num2++) { if (managerArray[num2] != null) { managerArray[num2].NotifyUnsub(); num++; } } Lightstreamer.DotNet.Client.SubscribedTableKey[] subscrKeys = new Lightstreamer.DotNet.Client.SubscribedTableKey[num]; int index = 0; for (num2 = 0; num2 < managerArray.Length; num2++) { if (managerArray[num2] != null) { subscrKeys[index] = tableKeys[num2]; index++; } } try { connManager.UnsubscrTables(subscrKeys, true); } catch (PhaseException) { throw new SubscrException("Connection closed"); } }