我将 RabbitMQ.Client(运行时版本 v2.0.50727,版本 2.8.1.0)与 C# .NET 应用程序一起使用。
我创建这样的连接:
using (IConnection connection = _factory.CreateConnection())
{
using (IModel channel = connection.CreateModel())
{
// code...
}
}
如果我正确关闭应用程序,它只会关闭通道和连接。但如果应用程序被错误地关闭(例如按下 PC 上的重新启动按钮),则不是。我想确保在我启动我的应用程序之前关闭所有不必要的连接(来自以前的会话甚至其他应用程序,如果错误地应用程序的其他实例正在其他地方运行)。
我知道我可能会使用心跳,但我的应用程序可能需要很长时间才能开始做任何事情(打开连接数小时且未使用)。所以我认为心跳不是最好的事情。
如何关闭 RMQ 的所有打开的连接?(或者,更好的是,所有打开的连接,一个给定的 IP 除外)?
问候!