Пример #1
0
        void StopRemoteProcess(bool isAsync = false)
        {
            if (process != null)
            {
                stopping = true;
            }

            AbortConnection(isAsync: isAsync);
            StopPinger();

            if (listener != null)
            {
                listener.Stop();
                listener = null;
            }
            if (connectionStream != null)
            {
                connectionStream.Close();
                connectionStream = null;
            }
            if (connection != null)
            {
                connection.Close();
                connection = null;
            }
            process?.Cancel();
        }
Пример #2
0
 IMethodReturnMessage RemoteProcessObjectShuttingDown(object obj, IMethodCallMessage msg)
 {
     ThreadPool.QueueUserWorkItem(delegate {
         try {
             process.Cancel();
         } catch {
         }
     });
     return(new ReturnMessage(null, null, 0, msg.LogicalCallContext, msg));
 }