ServiceAudience Enum

Definition

Identifies various audiences that may want or need to access a service. When used to register a service (e.g. ProvideBrokeredServiceAttribute) it determines whether that service can be accessed locally, remotely and/or by 3rd parties.

This enumeration supports a bitwise combination of its member values.

public enum class ServiceAudience
public enum ServiceAudience
[System.Flags]
public enum ServiceAudience
type ServiceAudience = 
[<System.Flags>]
type ServiceAudience = 
Public Enum ServiceAudience
Inheritance
ServiceAudience
Attributes

Fields

Name Value Description
None 0

No flags. The service is not available to anyone. When used for a filtered view, it means apply no filters (all services are available).

Process 1

Services are available for clients running in the same process (or AppDomain on the .NET Framework). They will not be available from other processes (e.g. ServiceHub services). A brokered service that includes this flag may still be indirectly exposed to LiveShareGuest by way of another brokered service that is exposed to LiveShareGuest that is proffered from this process.

Local 3

The service is available for clients that support this process (e.g. ServiceHub services). These always run on the same machine and user account. It does not include processes connected over Live Share or a Visual Studio Online Environment connection, even if these processes are running on the same machine. A brokered service that includes this flag may still be indirectly exposed to LiveShareGuest by way of another brokered service that is exposed to LiveShareGuest that is proffered from this machine.

RemoteExclusiveClient 256

When the service is running on an Visual Studio Online environment it is available to the client.

LiveShareGuest 1024

When the service is running on a Live Share host it is available for Live Share guests, which may or may not be using the same user account as the host.

AllClientsIncludingGuests 1283

The service is available for local processes as well as clients of Visual Studio Online environments and all Live Share guests (including untrusted strangers).

RemoteExclusiveServer 2048

When the service is running on a client of an Visual Studio Online environment, it is available to the server.

PublicSdk 268435456

The service is considered part of the public SDK, and thus is available to 3rd party clients that are only privileged to access public SDK services. This flag should only be specified for public services that have stable APIs. This flag must be combined with other flags to indicate which local and/or remote clients are allowed to request this service.

Remarks

This enum may also be used as a filter when constructing an IServiceBroker where each flag reduces the set of services available as only services that specify every flag in the filter are available.

Applies to