Share via


GlobalBrokeredServiceContainer Class

Definition

A container of brokered services that supports multiple service sources and multiple consumer roles that get filtered IServiceBroker views into the available services.

public ref class GlobalBrokeredServiceContainer abstract : Microsoft::VisualStudio::Shell::ServiceBroker::IBrokeredServiceContainerDiagnostics, Microsoft::VisualStudio::Shell::ServiceBroker::IBrokeredServiceContainerInternal
public abstract class GlobalBrokeredServiceContainer : Microsoft.VisualStudio.Shell.ServiceBroker.IBrokeredServiceContainerDiagnostics, Microsoft.VisualStudio.Shell.ServiceBroker.IBrokeredServiceContainerInternal
type GlobalBrokeredServiceContainer = class
    interface IBrokeredServiceContainer
    interface IBrokeredServiceContainerInternal
    interface IBrokeredServiceContainerDiagnostics
Public MustInherit Class GlobalBrokeredServiceContainer
Implements IBrokeredServiceContainerDiagnostics, IBrokeredServiceContainerInternal
Inheritance
GlobalBrokeredServiceContainer
Derived
Implements

Remarks

When a service is registered without a version, it doubles as a fallback service when a request for that service name is made but no exact version match can be found.

Constructors

GlobalBrokeredServiceContainer(ImmutableDictionary<ServiceMoniker,ServiceRegistration>, Boolean, JoinableTaskFactory, TraceSource)

Initializes a new instance of the GlobalBrokeredServiceContainer class.

GlobalBrokeredServiceContainer(ImmutableDictionary<ServiceMoniker,ServiceRegistration>, Boolean, TelemetrySession, JoinableTaskFactory, TraceSource)

Initializes a new instance of the GlobalBrokeredServiceContainer class.

Properties

LocalUserCredentials

Gets credentials to use to impersonate the local user.

MissingServiceDiagnostics

Gets a descriptor for the service that can diagnose the cause of a missing brokered service. Use IMissingServiceDiagnosticsService to interact with this service.

RegisteredServices

Gets the services currently registered.

Methods

ApplyChaosMonkeyConfigurationAsync(String, CancellationToken)
Obsolete.

Loads and applies the content of a chaos monkey configuration.

ApplyDescriptorSettings(ServiceRpcDescriptor, Boolean)

Applies typical transformations on a descriptor for brokered service clients and services.

ExportDiagnosticsAsync(String, ServiceAudience, CancellationToken)

Writes a bunch of diagnostic data to a JSON file.

GetFullAccessServiceBroker()

Gets an IServiceBroker with full access to all services available to this process with local credentials applied by default for all service requests. This should not be used within a brokered service, which should instead use the IServiceBroker that is given to its service factory.

GetLimitedAccessRemoteServiceBroker(ServiceAudience, IReadOnlyDictionary<String,String>, ClientCredentialsPolicy)
GetLimitedAccessServiceBroker(ServiceAudience, IReadOnlyDictionary<String,String>, ClientCredentialsPolicy)

Gets a service broker that targets an out of proc and/or less trusted consumer.

GetSecureServiceBroker(ServiceActivationOptions)

Gets a service broker that may be provided to a BrokeredServiceFactory in order to automatically propagate ClientCredentials from one service to its dependencies.

GetServicesThatMayBeExpected(ServiceSource)

Returns the services that are registered locally that may be proffered by a particular remote source.

GetTraceSourceForBrokeredServiceAsync(IServiceBroker, ServiceMoniker, ServiceActivationOptions, Boolean, CancellationToken)

Gets a TraceSource to apply to some brokered service.

GetTraceSourceForConnectionAsync(IServiceBroker, ServiceMoniker, ServiceActivationOptions, Boolean, CancellationToken)

Gets a TraceSource to apply to some brokered service.

OnRequestHandled(ServiceMoniker, ServiceRpcDescriptor, GlobalBrokeredServiceContainer+RequestType, GlobalBrokeredServiceContainer+RequestResult, GlobalBrokeredServiceContainer+IProffered)

When overridden by a derived class, provides a hook to raise events, post telemetry, or log how each brokered service request was handled.

Proffer(GlobalBrokeredServiceContainer+IProffered)

Indexes a proffered service factory or broker for fast lookup.

Proffer(IServiceBroker, IReadOnlyCollection<ServiceMoniker>)

Proffers services from another IServiceBroker into this container.

Proffer(ServiceRpcDescriptor, AuthorizingBrokeredServiceFactory)

Proffers a service for publication via an IServiceBroker associated with this container.

Proffer(ServiceRpcDescriptor, BrokeredServiceFactory)

Proffers a service for publication via an IServiceBroker associated with this container.

ProfferIntrinsicService(ServiceRpcDescriptor, ServiceRegistration, BrokeredServiceFactory)

Proffers a very special brokered service that is intrinsic to each GlobalBrokeredServiceContainer.View.

ProfferIntrinsicService(ServiceRpcDescriptor, ServiceRegistration, GlobalBrokeredServiceContainer+ViewIntrinsicBrokeredServiceFactory)

Proffers a very special brokered service that is intrinsic to each GlobalBrokeredServiceContainer.View.

ProfferRemoteBroker(IRemoteServiceBroker, MultiplexingStream, ServiceSource, ImmutableHashSet<ServiceMoniker>)

Proffers services offered by a remote IRemoteServiceBroker for access by this container.

ProfferRemoteBroker(IRemoteServiceBroker, ServiceSource, ImmutableHashSet<ServiceMoniker>)

Proffers services offered by a remote IRemoteServiceBroker for access by this container.

ProfferRemoteBroker(IServiceBroker, ServiceSource, ImmutableHashSet<ServiceMoniker>)

Proffers services offered by a remote IServiceBroker for access by this container.

RegisterServices(IReadOnlyDictionary<ServiceMoniker,ServiceRegistration>)

Registers a set of services with the global broker. This is separate from proffering a service. A service should be registered before it is proffered. An AvailabilityChanged event is never fired as a result of calling this method, but instead will be fired once the service is proffered.

UnregisterServices(IEnumerable<ServiceMoniker>)

Unregisters a set of services with the global broker. This is separate from unproffering a service. A service should be unregistered before it is unproffered. An AvailabilityChanged event is never fired as a result of calling this method, but instead will be fired once the service is unproffered. To unproffer a service, simply dispose of it's proffering source.

Applies to