/// <summary> /// Starts the IPC server for the Integration Test service. /// </summary> private void StartServiceCallback(object sender, EventArgs e) { if (_startMenuCmd.Enabled) { AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainAssemblyResolve; IntegrationTestTraceListener.Install(); _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); var componentModel = ServiceProvider.GetService <SComponentModel, IComponentModel>(); var asyncCompletionTracker = componentModel.GetService <AsyncCompletionTracker>(); asyncCompletionTracker.StartListening(); SwapAvailableCommands(_startMenuCmd, _stopMenuCmd); } }
/// <summary> /// Starts the IPC server for the Integration Test service. /// </summary> private void StartServiceCallback(object sender, EventArgs e) { if (_startMenuCmd.Enabled) { IntegrationTestTraceListener.Install(); _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); } }