internal static void DumpTables(TransportType transportType) { UriPrefixTable <MessageQueueAndPath> table = transportType == TransportType.Tcp ? tcpMessageQueues : namedPipeMessageQueues; lock (table) { Debug.Print("RoutingTable dumping " + table.Count + " Route(s) for TransportType: " + transportType); int count = 0; foreach (KeyValuePair <BaseUriWithWildcard, MessageQueueAndPath> item in table.GetAll()) { bool activated = item.Value.MessageQueue.GetType().Equals(typeof(ActivatedMessageQueue)); Debug.Print("Registration #" + (++count).ToString(CultureInfo.CurrentUICulture)); Debug.Print("\tActivated:" + activated); Debug.Print("\tCanDispatch:" + item.Value.MessageQueue.CanDispatch); Debug.Print("\tBaseAddress:" + item.Key.BaseAddress); Debug.Print("\tHostNameComparisonMode:" + item.Key.HostNameComparisonMode); List <WorkerProcess> workers = item.Value.MessageQueue.SnapshotWorkers(); if (workers.Count == 0) { Debug.Print("\tNo WorkerProcess Active."); } else { Debug.Print("\t" + workers.Count + " WorkerProcess(es) Registered:"); foreach (WorkerProcess wp in workers) { Debug.Print("\t\tPid:" + wp.ProcessId); if (activated) { Debug.Print("\t\tActive:" + wp.IsRegistered); Debug.Print("\t\tQueueId:" + wp.QueueId); } } } } } }