예제 #1
0
        private void FormClient_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (pingTimer != null)
            {
                pingTimer.Stop();
            }
            List <SaveMq> mqSaveData = new List <SaveMq>();

            foreach (var mq in RMQS)
            {
                mqSaveData.Add(new SaveMq(mq.serv, mq.queueName));
            }
            SavingXML.WriteToXmlFile("data.txt", mqSaveData);
            foreach (var rm in RMQS)
            {
                rm.Dispose();
            }
            if (ourMQ != null)
            {
                ourMQ.Dispose();
            }
        }
예제 #2
0
 private void ReadSavedMQs()
 {
     if (System.IO.File.Exists("data.txt"))
     {
         var saveData = SavingXML.ReadFromXmlFile <List <SaveMq> >("data.txt");
         foreach (var data in saveData)
         {
             Program.msgsWithHosts_Semaphore.WaitOne();
             Program.msgsWithHosts.Add(data.messageSendRecieve);
             Program.msgsWithHosts_Semaphore.Release();
             var lvItem = addServInLvServs(data.messageSendRecieve, true);
             try
             {
                 RMQS.Add(new RabbitMQClient(data.messageSendRecieve, data.mqName));
                 RMQS[RMQS.Count - 1].consumer.Received += sender;
             }
             catch (Exception ex)
             {
                 MessageBox.Show($"RabbitMq at {data.messageSendRecieve.mqIP} doesn't answer");
             }
         }
     }
 }