/// <summary> /// Initializes a new instance of the <see cref="RpcClient"/> class. /// </summary> /// <param name="targetEndPoint"> /// <see cref="EndPoint"/> for the target. /// </param> /// <param name="configuration"> /// A <see cref="RpcClientConfiguration"/> which contains protocol information etc. /// </param> /// <param name="serializationContext"> /// A <see cref="SerializationContext"/> to hold serializers. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="targetEndPoint"/> is <c>null</c>. /// </exception> public RpcClient(EndPoint targetEndPoint, RpcClientConfiguration configuration, SerializationContext serializationContext) { if (targetEndPoint == null) { throw new ArgumentNullException(nameof(targetEndPoint)); } Contract.EndContractBlock(); var safeConfiguration = configuration ?? RpcClientConfiguration.Default; TransportManager = safeConfiguration.TransportManagerProvider(safeConfiguration); SerializationContext = serializationContext ?? new SerializationContext(); Interlocked.Exchange(ref connectTask, TransportManager.ConnectAsync(targetEndPoint)); }
/// <summary> /// Initializes a new instance of the <see cref="RpcClient"/> class. /// </summary> /// <param name="targetEndPoint"> /// <see cref="EndPoint"/> for the target. /// </param> /// <param name="configuration"> /// A <see cref="RpcClientConfiguration"/> which contains protocol information etc. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="targetEndPoint"/> is <c>null</c>. /// </exception> public RpcClient(EndPoint targetEndPoint, RpcClientConfiguration configuration) : this(targetEndPoint, configuration, null) { }
/// <summary> /// Initializes a new instance of the <see cref="DynamicRpcProxy"/> class. /// </summary> /// <param name="targetEndPoint"> /// <see cref="EndPoint"/> for the target. /// </param> /// <param name="configuration"> /// A <see cref="RpcClientConfiguration"/> which contains protocol information etc. /// </param> /// <param name="serializationContext"> /// A <see cref="SerializationContext"/> to hold serializers. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="targetEndPoint"/> is <c>null</c>. /// </exception> public DynamicRpcProxy(EndPoint targetEndPoint, RpcClientConfiguration configuration, SerializationContext serializationContext) : this(new RpcClient(targetEndPoint, configuration, serializationContext)) { }
/// <summary> /// Initializes a new instance of the <see cref="DynamicRpcProxy"/> class. /// </summary> /// <param name="targetEndPoint"> /// <see cref="EndPoint"/> for the target. /// </param> /// <param name="configuration"> /// A <see cref="RpcClientConfiguration"/> which contains protocol information etc. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="targetEndPoint"/> is <c>null</c>. /// </exception> public DynamicRpcProxy(EndPoint targetEndPoint, RpcClientConfiguration configuration) : this(new RpcClient(targetEndPoint, configuration)) { }