C# .NET uygulamasıyla RabbitMQ.Client (çalışma zamanı sürümü v2.0.50727, sürüm 2.8.1.0) kullanıyorum. Ben Uygulama düzgün, sadece kanal ve bağlantıyı kapatır kapatırsanızRabbitMQ bağlantısı, uygulama zarif bir şekilde sonlandırılmasa bile kapat
using (IConnection connection = _factory.CreateConnection())
{
using (IModel channel = connection.CreateModel())
{
// code...
}
}
:
böyle bir bağlantı oluşturun. Ancak uygulama yanlış kapatılırsa (örn. PC'de yeniden başlat düğmesine basılması), bu değildir. Başvuruma başlamadan önce tüm gereksiz bağlantıların (önceki oturumlardan veya hatta diğer uygulamalardan, başka bir uygulamada başka bir yerde çalışıyorsa) kapatıldığından emin olmak isterim.
Kalp atımlarını kullanabileceğimi biliyorum, ancak uygulamamın bir şey yapmaya başlamak için çok fazla zamana ihtiyacı var (saatlerce açık bağlantı ve kullanılmadığı). Bu yüzden kalp atışlarının en iyi şey olmadığını düşünüyorum.
RMQ için tüm açık bağlantıları nasıl kapatabilirim? (Ya da, daha da iyisi, verilen IP için istisna olmak üzere tüm açılmış bağlantılar)?
Saygılar!