protected override void OnExit(ExitEventArgs e) { if ((Client != null)) { Client.Abort(); Client = null; } notifyIcon.Dispose(); //the icon would clean up automatically, but this is cleaner base.OnExit(e); }
public static void RegisterClient() { if ((Client != null)) { Client.Abort(); Client = null; } BroadcastCallback cb = new BroadcastCallback(); cb.SetHandler(HandleBroadcast); System.ServiceModel.InstanceContext context = new System.ServiceModel.InstanceContext(cb); Client = new BroadcastServiceReference.BroadcastServiceClient(context); Client.RegisterClient(Environment.UserName); }