Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关闭应用程序时删除连接的问题_C#_.net_Rabbitmq_Amqp - Fatal编程技术网

C# 关闭应用程序时删除连接的问题

C# 关闭应用程序时删除连接的问题,c#,.net,rabbitmq,amqp,C#,.net,Rabbitmq,Amqp,我正在使用.NET RabbitMQ客户端库。我想开发一个信息系统。为此,我实现了RabbitMQ的所有必要方法。此外,我必须开发一个dispose来从RabbitMQ中删除连接,因为连接不会自动删除。我在FormClosing事件中调用此方法,因此当用户单击close按钮关闭应用程序时,将触发此方法,并且逻辑连接将被删除。到目前为止,所有代码都工作得很好 问题是,调用dispose来显式删除连接是一种不好的做法,因此我不想使用dispose。我无法删除任何内容 在不触发的情况下关闭应用程序时的

我正在使用.NET RabbitMQ客户端库。我想开发一个信息系统。为此,我实现了RabbitMQ的所有必要方法。此外,我必须开发一个dispose来从RabbitMQ中删除连接,因为连接不会自动删除。我在FormClosing事件中调用此方法,因此当用户单击close按钮关闭应用程序时,将触发此方法,并且逻辑连接将被删除。到目前为止,所有代码都工作得很好

问题是,调用dispose来显式删除连接是一种不好的做法,因此我不想使用dispose。我无法删除任何内容 在不触发的情况下关闭应用程序时的连接 处置连接仍保留在RabbitMQ中

如何在不调用RabbitMQ的情况下从RabbitMQ中删除这些连接
显式释放?

是什么让您认为调用释放来显式删除连接是一种不好的做法?如果您的一次性RabbitMQ连接没有使用use,只需在应用程序关闭时手动调用dispose即可。@oleksii:谢谢您的回复。我正在做的是,我正在创建我自己使用的库,它将扩展现有的RabbitMQ.NET库。我将使用这个库来进一步开发消息传递系统。我在库中添加了一些方法,并且没有使用,因为库的流程是将数据从一个cs文件传输到另一个cs文件。是什么让您认为调用dispose来显式删除连接是一种不好的做法?。我不能要求开发人员调用此dispose来关闭连接。您可能可以添加一个具有Open和close方法的接口。然后,您的库的用户将清楚地知道如何使用它。在close方法中,您可以调用Dispose。我不能要求开发人员调用此Dispose来关闭连接。是的,你可以。你说你正在为此开发一个库。库设计的一部分是决定哪些方法做哪些事情。如果要关闭连接,可以调用ConnectionClass.Dispose。