/// <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);
        }
Example #2
0
 public DefaultClientProxyFactory(ITransportDispatcher dispatcher)
 {
     this._dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher));
 }
Example #3
0
 private async Task <ITransportDispatcher> GetDispatcher()
 {
     return(_dispatcher ?? (_dispatcher = await _writeOnlyTransportProvider.GetDispatcher(_queueFactory())));
 }