public object RemoteDoCommunication(CommunicationId target, string name, params object[] args)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(m_remoteNetworkProvider.RemoteDoCommunication(target, name, args));
        }
        public object RemoteDoCommunication(CommunicationId target, string name, params object[] args)
        {
            if (target == null)
            {
                throw new ArgumentNullException(nameof(target));
            }

            if (string.IsNullOrEmpty(target.Endpoint))
            {
                throw new InvalidOperationException($"The target operation is a local operation. You must pass the { nameof(target) } parameter that is from a remote host.");
            }

            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(GetOrAddChannel(target.Endpoint).DoCommunication(target, name, args));
        }
Example #3
0
 public override int GetHashCode()
 {
     return(CommunicationId.GetHashCode());
 }
Example #4
0
 protected bool Equals(CommunicationHousekeepingRequest other)
 {
     return(CommunicationId.Equals(other.CommunicationId));
 }
 public object DoCommunication(CommunicationId target, string name, params object[] args)
 {
     return(RuntimeHost.DoCommunication(target, name, args));
 }
Example #6
0
 public static TSender Get(CommunicationId key, MachineId id)
 {
     return(ms_senders.GetOrAdd(id, _ => New(RuntimeHostReferences.Get(key.RuntimeHostId), id)));
 }
Example #7
0
 public override TResult Communicate <TResult>(CommunicationId target, Func <object[], TResult> func, params object[] args)
 {
     return((TResult)m_networkProvider2.RemoteDoCommunication(target, func.Method.ToString(), args));
 }