示例#1
0
            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);
            }
示例#2
0
            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);
            }
示例#3
0
            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);
            }
示例#4
0
 public RemoteUnusedReferenceAnalysisService(ServiceConstructionArguments arguments)
     : base(arguments)
 {
 }
 public RemoteValueTrackingService(ServiceConstructionArguments arguments)
     : base(arguments)
 {
 }