Table of Contents

Class ExportRpcContractProxiesAttribute

Namespace
StreamJsonRpc
Assembly
StreamJsonRpc.dll

Emit source generated proxies for RPC interfaces with public visibility when the interface annotated with JsonRpcContractAttribute is itself public.

[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
public class ExportRpcContractProxiesAttribute : Attribute
Inheritance
ExportRpcContractProxiesAttribute
Inherited Members

Properties

ForbidExternalProxyGeneration

Gets or sets a value indicating whether to forbid the source generation of proxies for the RPC interfaces declared in this assembly by other assemblies.

public bool ForbidExternalProxyGeneration { get; set; }

Property Value

bool

Remarks

By default, source generated proxies may be generated for interfaces that are annotated with JsonRpcContractAttribute in the assembly that declares the interface or other assemblies that reference the declaring assembly. Implementations of an RPC interface in another assembly will break when members are added to the interface. To preserve the ability to add members to an RPC interface in the future without recompiling all referencing assemblies, set this property to true, which forces the calling assembly to use the source generated proxies within this assembly or to use dynamically generated proxies at runtime.

Changing or removing existing members is always a binary-breaking change because referencing assemblies may have code that invokes these members.