毎秒1回RabbitMQエクスチェンジにメッセージを送信する単純なC#アプリケーションがあります。インターネット接続が切断されると、アプリがクラッシュします。そこで、Try / Catchステートメントを追加しましたが、クラッシュしなくなりました。ただし、接続が復元されると、データは送信されなくなります。アプリを閉じて、再度開く必要があります。私はこれを正しく行っていますか?
private void rabbitmqxmit()
{
try
{
while (rmqtxrun == true)
{
ConnectionFactory factory = new ConnectionFactory();
factory.HostName = textBox3.Text;
using (IConnection connection = factory.CreateConnection())
using (IModel channel = connection.CreateModel())
{
button1.BackColor = Color.Green;
string message = textBox1.Text;
byte[] body = System.Text.Encoding.UTF8.GetBytes(message);
channel.BasicPublish(textboxExchange.Text, textboxKey.Text, null, body);
txtboxTransmitting.Text = message;
button1.BackColor = Color.Gray;
Thread.Sleep(Convert.ToInt32(textBox4.Text));
}
}
}
catch {}
}