/// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="clusterToken">集群授权码</param>
 internal AbstractChannel(string host, int port, string clusterToken, ILog logger)
 {
     if (string.IsNullOrEmpty(host))
     {
         throw new ArgumentNullException(nameof(host));
     }
     if (port < 0 || port > ushort.MaxValue)
     {
         throw new ArgumentException(nameof(port));
     }
     if (string.IsNullOrEmpty(clusterToken))
     {
         throw new ArgumentNullException(nameof(clusterToken));
     }
     _clientStub = new ClientStub(host, port, clusterToken, logger);
 }
Esempio n. 2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="clientStub"></param>
 /// <param name="serviceType"></param>
 internal AbstractClient(ClientStub clientStub, Type serviceType)
 {
     _clientStub  = clientStub;
     _serviceInfo = _clientStub.GetOrSetServiceInfo(serviceType);
 }
 /// <summary>
 /// 获取客户端访问类
 /// </summary>
 /// <param name="serviceType">服务类型</param>
 /// <param name="clientStub">存根</param>
 /// <returns>客户端访问对象</returns>
 protected abstract IClient InitializeClient(Type serviceType, ClientStub clientStub);