/// <summary>Stops the IPC server for the Integration Test service.</summary> private void StopServiceCallback(object sender, EventArgs e) { if (_stopMenuCmd.Enabled) { if (_serviceChannel != null) { _serviceChannel.StopListening(null); _serviceChannel = null; } _marshalledService = null; _service = null; SwapAvailableCommands(_stopMenuCmd, _startMenuCmd); } }
/// <summary> /// Starts the IPC server for the Integration Test service. /// </summary> private void StartServiceCallback(object sender, EventArgs e) { if (_startMenuCmd.Enabled) { _service = new IntegrationService(); _serviceChannel = new IpcServerChannel( name: $"Microsoft.VisualStudio.IntegrationTest.ServiceChannel_{Process.GetCurrentProcess().Id}", portName: _service.PortName, sinkProvider: DefaultSinkProvider); var serviceType = typeof(IntegrationService); _marshalledService = RemotingServices.Marshal(_service, serviceType.FullName, serviceType); _serviceChannel.StartListening(null); SwapAvailableCommands(_startMenuCmd, _stopMenuCmd); } }