internal TService Create( IDuplexPipe pipe, IServiceProvider hostProvidedServices, ServiceActivationOptions serviceActivationOptions, IServiceBroker serviceBroker ) { var descriptor = ServiceDescriptors.Instance.GetServiceDescriptorForServiceFactory( typeof(TService) ); var serviceHubTraceSource = (TraceSource)hostProvidedServices.GetService( typeof(TraceSource) ); var serverConnection = descriptor .WithTraceSource(serviceHubTraceSource) .ConstructRpcConnection(pipe); var args = new ServiceConstructionArguments(hostProvidedServices, serviceBroker); var service = CreateService( args, descriptor, serverConnection, serviceActivationOptions.ClientRpcTarget ); serverConnection.AddLocalRpcTarget(service); serverConnection.StartListening(); return(service); }
internal TService Create( IDuplexPipe pipe, IServiceProvider hostProvidedServices, ServiceActivationOptions serviceActivationOptions, IServiceBroker serviceBroker) { var descriptor = ServiceDescriptors.GetServiceDescriptor(typeof(TService), isRemoteHost64Bit: IntPtr.Size == 8); var serverConnection = descriptor.ConstructRpcConnection(pipe); var args = new ServiceConstructionArguments(hostProvidedServices, serviceBroker, new CancellationTokenSource()); var service = CreateService(args, descriptor, serverConnection, serviceActivationOptions.ClientRpcTarget); serverConnection.AddLocalRpcTarget(service); serverConnection.StartListening(); return(service); }
internal TService Create( IDuplexPipe pipe, IServiceProvider hostProvidedServices, ServiceActivationOptions serviceActivationOptions, IServiceBroker serviceBroker) { // Register this service broker globally (if it's the first we encounter) so it can be used by other // global services that need it. GlobalServiceBroker.RegisterServiceBroker(serviceBroker); var descriptor = ServiceDescriptors.Instance.GetServiceDescriptorForServiceFactory(typeof(TService)); var serviceHubTraceSource = (TraceSource)hostProvidedServices.GetService(typeof(TraceSource)); var serverConnection = descriptor.WithTraceSource(serviceHubTraceSource).ConstructRpcConnection(pipe); var args = new ServiceConstructionArguments(hostProvidedServices, serviceBroker); var service = CreateService(args, descriptor, serverConnection, serviceActivationOptions.ClientRpcTarget); serverConnection.AddLocalRpcTarget(service); serverConnection.StartListening(); return(service); }
public RemoteUnusedReferenceAnalysisService(ServiceConstructionArguments arguments) : base(arguments) { }
public RemoteValueTrackingService(ServiceConstructionArguments arguments) : base(arguments) { }