Class LinkBuilder
- Namespace
- AnyProtocol.Configuration
- Assembly
- AnyProtocol.dll
Builds the protocols, contracts, filters, and services used by a AnyProtocol bus.
public sealed class LinkBuilder
- Inheritance
-
LinkBuilder
- Inherited Members
Constructors
LinkBuilder()
public LinkBuilder()
Methods
AddClientFilter(IMessageFilter)
Adds a filter to the outbound client pipeline.
public LinkBuilder AddClientFilter(IMessageFilter filter)
Parameters
filterIMessageFilter
Returns
AddClient<TContract>(Action<ClientOptionsBuilder>?)
Registers a generated client proxy for a contract.
public LinkBuilder AddClient<TContract>(Action<ClientOptionsBuilder>? configure = null) where TContract : class
Parameters
configureAction<ClientOptionsBuilder>
Returns
Type Parameters
TContract
AddClient<TContract>(string, Action<ClientOptionsBuilder>?)
Registers a generated client proxy with a stable configuration key.
public LinkBuilder AddClient<TContract>(string configurationKey, Action<ClientOptionsBuilder>? configure = null) where TContract : class
Parameters
configurationKeystringconfigureAction<ClientOptionsBuilder>
Returns
Type Parameters
TContract
AddEventHandler<TEvent, THandler>(Action<EventOptionsBuilder>?)
Registers an event consumer and its publisher.
public LinkBuilder AddEventHandler<TEvent, THandler>(Action<EventOptionsBuilder>? configure = null) where TEvent : class where THandler : class, IEventConsumer<TEvent>
Parameters
configureAction<EventOptionsBuilder>
Returns
Type Parameters
TEventTHandler
AddServerFilter(IMessageFilter)
Adds a filter to the inbound server pipeline.
public LinkBuilder AddServerFilter(IMessageFilter filter)
Parameters
filterIMessageFilter
Returns
AddServer<TContract, TImplementation>(Action<ServerOptionsBuilder>?)
Registers a scoped server implementation for a contract.
public LinkBuilder AddServer<TContract, TImplementation>(Action<ServerOptionsBuilder>? configure = null) where TContract : class where TImplementation : class, TContract
Parameters
configureAction<ServerOptionsBuilder>
Returns
Type Parameters
TContractTImplementation
AddServer<TContract, TImplementation>(string, Action<ServerOptionsBuilder>?)
Registers a scoped server implementation with a stable configuration key.
public LinkBuilder AddServer<TContract, TImplementation>(string configurationKey, Action<ServerOptionsBuilder>? configure = null) where TContract : class where TImplementation : class, TContract
Parameters
configurationKeystringconfigureAction<ServerOptionsBuilder>
Returns
Type Parameters
TContractTImplementation
AddTransport(ProtocolKey, IMessagingProtocol)
Registers a named messaging transport.
public LinkBuilder AddTransport(ProtocolKey protocol, IMessagingProtocol transport)
Parameters
protocolProtocolKeytransportIMessagingProtocol
Returns
AddTransport(string, IMessagingProtocol)
Registers a named messaging transport.
public LinkBuilder AddTransport(string name, IMessagingProtocol transport)
Parameters
namestringtransportIMessagingProtocol
Returns
Build(ContractDescriptorFactory?)
Builds an immutable runtime plan from the current link definition.
public RuntimePlan Build(ContractDescriptorFactory? descriptorFactory = null)
Parameters
descriptorFactoryContractDescriptorFactory
Returns
ConfigureClientProtocol(string, ProtocolKey)
Overrides the protocol of a named client registration.
public LinkBuilder ConfigureClientProtocol(string configurationKey, ProtocolKey protocol)
Parameters
configurationKeystringprotocolProtocolKey
Returns
ConfigureServerProtocols(string, params ProtocolKey[])
Overrides the protocols of a named server registration.
public LinkBuilder ConfigureServerProtocols(string configurationKey, params ProtocolKey[] protocols)
Parameters
configurationKeystringprotocolsProtocolKey[]
Returns
UseLargePayloadOffload(Action<LargePayloadOffloadOptions>)
Enables serialized-body offload with explicit bounded limits.
public LinkBuilder UseLargePayloadOffload(Action<LargePayloadOffloadOptions> configure)
Parameters
configureAction<LargePayloadOffloadOptions>
Returns
UseSerializer(IMessageSerializer)
Sets the serializer shared by clients, servers, and event handlers.
public LinkBuilder UseSerializer(IMessageSerializer serializer)
Parameters
serializerIMessageSerializer