/// <summary> /// 创建代理类实例 /// </summary> /// <param name="targetType">要代理的接口</param> /// <param name="dispatcher">拦截器</param> /// <returns></returns> public static object CreateInstance(Type targetType, ITransportDispatcher dispatcher) { object proxy = CreateProxy(targetType); ((ClientProxyGenerator)proxy)._dispatcher = dispatcher; return(proxy); }
public DefaultClientProxyFactory(ITransportDispatcher dispatcher) { this._dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher)); }
private async Task <ITransportDispatcher> GetDispatcher() { return(_dispatcher ?? (_dispatcher = await _writeOnlyTransportProvider.GetDispatcher(_queueFactory()))); }