File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
projects/client/RabbitMQ.Client/src/client/impl Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -578,6 +578,8 @@ public void NotifyHeartbeatThread()
578578
579579 public void MainLoop ( )
580580 {
581+ Thread . GetDomain ( ) . DomainUnload += new EventHandler ( HandleDomainUnload ) ;
582+
581583 bool shutdownCleanly = false ;
582584 try
583585 {
@@ -682,7 +684,16 @@ public void FinishClose()
682684 m_model0 . SetCloseReason ( m_closeReason ) ;
683685 m_model0 . FinishClose ( ) ;
684686 }
685-
687+
688+ /// <remarks>
689+ /// We need to close the socket, otherwise attempting to unload the domain
690+ /// could cause a CannotUnloadAppDomainException
691+ /// </remarks>
692+ public void HandleDomainUnload ( object sender , EventArgs ea )
693+ {
694+ Abort ( CommonFraming . Constants . InternalError , "Domain Unload" ) ;
695+ }
696+
686697 public bool HardProtocolExceptionHandler ( HardProtocolException hpe )
687698 {
688699 if ( SetCloseReason ( hpe . ShutdownReason ) )
You can’t perform that action at this time.
0 commit comments