public override void Operation() { while (true) { try { while (true) { _allDone.Reset(); // Start an asynchronous socket to listen for connections. Socketv4.BeginAccept( AcceptCallback, Socketv4); // Wait until a connection is made before continuing. _allDone.WaitOne(); } } catch (Exception e) { Message.Body = e; ErrorUtil.WriteError(e).GetAwaiter().GetResult(); } Socketv4.Close(); } // ReSharper disable once FunctionNeverReturns }